91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Django Form如何設置文本框為readonly

發布時間:2020-07-06 11:25:58 來源:億速云 閱讀:339 作者:清晨 欄目:開發技術

小編給大家分享一下Django Form如何設置文本框為readonly,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!

用Django開發網站的時候,前端頁面內的文本框總是不能被設置為只讀,找了一些資料發現可以在form class里面進行設置。

方法一:

首先在自己創建的form.py文件中創建一個my_info_form 類:

** In form.py file **

""" 1. 利用Django form創建自己需要的表單 """
class my_info_form(forms.Form):
 user_id = forms.IntegerField()
 user_name = forms.CharField(max_length=254)
 email = forms.EmailField()

""" 上面的這一小段代碼就可以在頁面上顯示出一個表格, 但是表格里面的文本框IntegerField, CharField, EmailField都處于可編輯狀態。 
大多數情況下我們不想要用戶可以隨意更改頁面展示的內容,所以需要對這些文本框進行設置來改變可編輯狀態。
代碼如下: """

 def __init__(self, *args, **kwargs):
 super(forms.Form, self).__init__(*args,**kwargs)
 self.fields['user_id'].widget.attrs['readonly'] = True
 self.fields['user_name'].widget.attrs['readonly'] = True
 self.fields['email'].widget.attrs['readonly'] = True

""" 編寫__init__()方法,
首先, 要調用super(forms.Form, self).__init__(*args,**kwargs), 注意這里的__init__()方法里沒有self。*args會傳遞要展示的信息, **kwargs會傳遞改變文本框格式的信息。 如果不調用super方法, 會報no fields 錯誤。

第二, 更改文本框編輯狀態:

self.fields['user_id'].widget.attrs['readonly'] = True
self.fields['user_name'].widget.attrs['readonly'] = True
self.fields['email'].widget.attrs['readonly'] = True

第三, 試著運行一下, 你會發現文本框已經不能進行編輯了!
"""

方法二:

""" 
在創建文本框的時候實用Django的widget 設置文本框的屬性為 readonly
"""
class my_info_form(forms.Form):
 user_id = forms.IntegerField(widget=forms.TextInput(attrs={'readonly': 'readonly'}))
 user_name = forms.CharField(widget=forms.TextInput(attrs={'readonly': 'readonly'}))
 email = forms.EmailField(widget=forms.TextInput(attrs={'readonly': 'readonly'}))

補充知識:將input標簽設置為不可編輯狀態的三種方法

一:disabled

disabled 屬性規定應該禁用 input 元素,被禁用的 input 元素,不可編輯,不可復制,不可選擇,不能接收焦點,后臺也不會接收到傳值。設置后文字的顏色會變成灰色。disabled 屬性無法與 <input type="hidden"> 一起使用。

示例:

<input type="text" disabled="disabled" />

二:readonly

readonly 屬性規定輸入字段為只讀可復制,但是,用戶可以使用Tab鍵切換到該字段,可選擇,可以接收焦點,還可以選中或拷貝其文本。后臺會接收到傳值. readonly 屬性可以防止用戶對值進行修改。readonly 屬性可與 <input type="text"> 或 <input type="password"> 配合使用。

示例:

<input type="text" readonly="readonly">

三:readonly unselectable="on"

readonly unselectable="on" 該屬性跟disable類似,input 元素,不可編輯,不可復制,不可選擇,不能接收焦點,設置后文字的顏色也會變成灰色,但是后臺可以接收到傳值。

示例:

<input type="text" readonly unselectable="on" >

看完了這篇文章,相信你對Django Form如何設置文本框為readonly有了一定的了解,想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

嘉义市| 山东省| 雅安市| 彭阳县| 焉耆| 泰兴市| 崇左市| 巫山县| 阜阳市| 白沙| 贵港市| 繁昌县| 茶陵县| 登封市| 台安县| 印江| 万源市| 无棣县| 晋城| 承德市| 仪征市| 房产| 安丘市| 高安市| 钦州市| 喜德县| 汉源县| 石柱| 连云港市| 尼勒克县| 乡城县| 华蓥市| 陇西县| 台北市| 东乡| 万荣县| 河池市| 无棣县| 岢岚县| 门头沟区| 咸阳市|