django学习第十五天-modelform的补充(django modelviewset)

网友投稿 237 2022-08-29


django学习第十五天-modelform的补充(django modelviewset)

基于form组件和modelform组件改造图书管理系统

详情可以去图书管理系统分类中查看​基于form组件和modelform组件改造图书管理系统

modelform的补充

class BookModelForm(forms.ModleForm): #书籍的名称没有最小长度的校验,那么我们就可以自己自定义在下面这么写,那么它就会替换modelform帮我们自动生成的form属性 title = forms.CharField(max_length=64,min_length=2) class Mate: #配置元信息 model = models.Book #用于指定模型类 fields = '__all__' #指定Book模型类中的所有属性 #fields=['title','price']#如果指定了model模型类中的属性,那么modeform就只会根据给出的属性生成form属性和对应的标签 #exclude=['title','price'] #排除给出指定model模型类中的属性,也就是会生成剩下属性对应的form属性 ''' modelform会自动将这些属性转换为跟上面BookForm类中定义的属性一样 Book类里面的 pub = models.ForeignKey('Publish'),authors = models.ManyToManyField('Author') 会自动翻译成如下 pub = forms.ModelChoiceField( label='出版社', queryset=models.Publish.objects.all(), ) authors = forms.ModelMultipleChoiceField( label='作者', queryset=models.Author.objects.all() ) ''' labels={'title':'书籍名称',...} #指定label标签内容 #labels如果不想写的话可以在model模型类中定义verbose_name='书籍名称' error_messages={'title':{'required':'不能为空',...},...} #错误提示信息 widgets={'pub_date':forms.TextInput(attrs={'type':'date',...},...),...} #修改插件标签样式 #想在自己定义的forms类在初始化的时候统一加一些样式 def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) for name, field in self.fields.items(): # print(name, field) field.widget.attrs.update({'class': 'form-control'})

-------------------------------------------

个性签名:代码过万,键盘敲烂!!!

如果觉得这篇文章对你有小小的帮助的话,记得“推荐”哦,博主在此感谢!


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:django比较相等或者不相等的模板语法ifequal/ifnotequal
下一篇:Springboot+Flowable 快速实现工作流的开发流程
相关文章

 发表评论

暂时没有评论,来抢沙发吧~