日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Django 之Form

發布時間:2025/7/25 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Django 之Form 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

具體可參考:http://www.liujiangblog.com/course/django/153

https://www.cnblogs.com/liuguniang/p/7141837.html

https://www.cnblogs.com/liwenzhou/p/8747872.html

一,Form字段:

1)驗證

2)生成HTML(保留上次輸入內容)

3)初始化默認值

?Form 重點字段:

------ChoiceField *****8

------MultipleChoiceField

------CharField

------IntegerField

------DecimalField

------DateField

------DateTimeField

------EmailField

------GenericIPAdressField--

------FileField

------RegexField

?

三,具體用法:

?1)CharField的參數

class TestForm(forms.Form):
user = fields.CharField(
required=True, # 是否必填
max_length=12, # 最大長度
min_length=3, # 最小長度
error_messages={ # 錯誤提示
'required':''
},
# widget = widgets.Textarea, # 定制html插件
# widget=widgets.Select,
label="用戶名",
initial='請輸入用戶名', # 默認值
show_hidden_initial=False, # 是否在當前插件在家一個隱藏的且具有默認值的插件(可用于檢驗兩次輸入是否一致)
validators=[], # 自定制驗證規則(是否是手機號)
localize=False, # 是否支持本地化
disabled=True, # 是否可以編輯
label_suffix=":",

)
age = fields.IntegerField(label="年齡",)
email = fields.EmailField(label="郵箱",)

?

當widget = widgets.Textarea 展示效果如下

?

當widget=widgets.Select展示效果如下

?

2)

簡單了解 1){{ obj.as_p }} 2) <ul>{{ obj.as_ul }} </ul> 3) <table> {{ obj.as_table}} </table>

?3)IntegerField類型?

age = fields.IntegerField(label="年齡",max_value=12,min_value=5,error_messages={'max_value' : "太大了"})

?4)DecimalField類型

weight = fields.DecimalField(label = "體重",max_value=30, # 最大值min_value=10, # 最小值max_digits=5, #總長度decimal_places=3, #小數位的長度)

?5)RegexField正則

6)EmailField

7)URLField

8)FileField

?

img = fields.FileField(label="上傳文件")

?.html中

novalidate enctype="multipart/form-data"

?9)ChoiceField

city = fields.ChoiceField(label="城市",choices=[(1,"上海"),(2,"北京"),(3,"天津"),],initial = 2,)

?10)MultipleChoiceField

hobby = fields.MultipleChoiceField(label="愛好",choices=[(1, "籃球"), (2, "足球"), (3, "乒乓球"), ],initial=[1, 2], # 多選是列表)

?11)TypeChoiceField 轉換類型的,打印輸出的chocices 1不是字符串類型而是int類型

city = fields.TypedChoiceField(coerce=lambda x: int(x),#轉換類型label="城市",choices=[(1, "上海"), (2, "北京"), (3, "天津"), ],initial=2, # 單選是單值)

?

二.Form 之 插件:每一個fields字段都是一個正則表達式+默認的插件組成的,

1)更改默認插件:

widget = widgets.TextInput(attrs={'n':123}), #加自定義屬性

?

?2)如果想把

txt = "<input type = 'text/>" 標簽類的文本展示到頁面上,需要在view傳值的頁面加上 from django.utils.safestring import mark_safetxt =mark_safe("<input type = 'text/>")

?3)Django 的內置插件: 單選的兩種寫法如下: select

只有select 有choice input什么的沒有 xdb = fields.CharField(widget=widgets.Select(choices=[(1,"11"),(2,"22"),]))

也可以直接用ChoiceField xdb = fields.ChoiceField(
choices=[(1,"11"),(2,"22"),]
)

?多選的寫法如下:

xdb = fileds.MultipleChoiceField(choices = [(1,"111"),(2,"222")]widget = widgets.SelectMultiple(attrs = {"class":"cl"}) )

?4)checkbox(單選的)

xdb = fields.CharField(# widget=widgets.Select(choices=[(1,"11"),(2,"22"),])widget=widgets.CheckboxInput())

?5)checkbox(多選的)

xdb = fields.MultipleChoiceField(initial=[2,],choices = [(1, "籃球"), (2, "足球"), (3, "乒乓球"), ],# widget=widgets.Select(choices=[(1,"11"),(2,"22"),])widget=widgets.CheckboxSelectMultiple())

?6)radio

xdb = fields.ChoiceField(initial=[2,],choices = [(1, "籃球"), (2, "足球"), (3, "乒乓球"), ],# widget=widgets.Select(choices=[(1,"11"),(2,"22"),])widget=widgets.RadioSelect())

?

?三.特殊的單選或者多選時,數據源是否能實時更新????/

?

?

?

?

?

?

?

?

?

?

?

?

?

https://www.cnblogs.com/

轉載于:https://www.cnblogs.com/wangyue0925/p/9047425.html

總結

以上是生活随笔為你收集整理的Django 之Form的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。