时间:2021-07-01 10:21:17 帮助过:25人阅读
1、功能1: 验证
2、功能2: 生成html标签(默认功能:保留上次提交的值)
3、功能3: 数据操作
4、功能4: HTML Form提交保留上次提交数据
5、功能5: 初始化页面显示内容
2、form使用原则
1、 新url方式操作(一定要用form方式生成html,避免提交刷新页面,丢失当前页面中填的值)
2、 发Ajax请求时可以不用form生成html标签,仅用form做验证,因为ajax请求本身不刷新页面,不必担心填
的值会丢失,当然使用form生成html也是可以的
注意: 导入模块名(fields、widgets)和字段名重复,所以导入时要起个别名。
from django import forms from django.forms import fields as Ffields from django.forms import widgets as Fwidgets class UserInfoModelForm(forms.ModelForm): is_rmb = Ffields.CharField(widget=Fwidgets.CheckboxInput()) class Meta: model = models.UserInfo fields = ‘__all__‘ # fields = [‘username‘,‘email‘] # exclude = [‘username‘] labels = { ‘username‘: ‘用户名‘, ‘email‘: ‘邮箱‘, } help_texts = { ‘username‘: ‘...‘ } widgets = { ‘username‘: Fwidgets.Textarea(attrs={‘class‘: ‘c1‘}) } error_messages = { ‘__all__‘:{ # 整体错误信息 }, ‘email‘: { ‘required‘: ‘邮箱不能为空‘, ‘invalid‘: ‘邮箱格式错误..‘, } } field_classes = { # 定义字段的类是什么 # ‘email‘: Ffields.URLField # 这里只能填类,加上括号就是对象了。 } # localized_fields=(‘ctime‘,) # 哪些字段做本地化Meta中可以定义的字段类型
05:ModelForm 数据验证 & 生成html & 数据库操作
标签:bsp 技术 技术分享 src size 验证 required rms text