久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

Django Form設置文本框為readonly操作

瀏覽:175日期:2024-09-28 14:20:37

用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’] = Trueself.fields[’user_name’].widget.attrs[’readonly’] = Trueself.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操作就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Django
相關文章:
主站蜘蛛池模板: 台中市| 烟台市| 板桥市| 石屏县| 克山县| 高邑县| 巧家县| 河西区| 观塘区| 循化| 涟水县| 灌南县| 武平县| 霍林郭勒市| 沂南县| 哈尔滨市| 崇礼县| 沙湾县| 新乡县| 勐海县| 新巴尔虎左旗| 手机| 凭祥市| 南郑县| 建湖县| 大田县| 耿马| 嘉善县| 温州市| 安丘市| 陆河县| 绥德县| 射洪县| 东莞市| 柳州市| 龙海市| 双辽市| 苏尼特右旗| 安泽县| 宜川县| 马龙县|