关于表单问题
老师,您好:
什么情况下使用forms.ModelForm,什么情况下又是使用form.Form呢?不太理解这两个的使用情况,请老师解释说明一下,到底应该在什么情况下使用模型表单还是使用表单呢?
14
收起
正在回答
1回答
同学,你好,
1、在HTML页面中利用form表单向后端提交数据时,会需要对用户的输入做校验,比如校验用户是否输入,输入的长度和格式等正不正确。如果用户输入的内容有错误就需要在页面上相应的位置显示对应的错误信息。Django form组件就实现了上面所述的功能。即生成页面可用的HTML标签,对用户提交的数据进行校验,保留上次输入内容
2、ModelForm是form与model的终极结合,会根据model中的字段转换成对应的form字段,并且生成标签等操作。可以在模型已有的字段下添加额外的表单字段,将模型的字段转换成表单字段,由类meta的属性实现两者的字段转换。
例:
class ProductModelForm(forms.ModelForm): # 添加模型外的表单字段 productId = forms.CharField(max_length=20, label='产品序号', initial='NO1') # 模型与表单设置 class Meta: # 绑定模型 model = Product fields = "__all__" #字段,如果是__all__,就是表示列出所有的字段 exclude = None #排除的字段 labels = None #显示信息 widgets = None #自定义插件 error_messages = None #自定义错误信息 # error_messages用法 error_messages = { 'title': {'required': '不能为空'} } #labels,自定义在前端显示的名字 labels = { "name":"用户名" }
相似问题
登录后可查看更多问答,登录/注册
3.从网页搭建入门Python Web
- 参与学习 人
- 提交作业 218 份
- 解答问题 3562 个
本阶段带你用Python开发一个网站,学习主流框架Django+Flask是Python Web开发的第一步,在基础知识上实现积分商城的项目开发,体验真实的项目开发流程,提高解决编程问题和效率的能力。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星