隐藏页面特效

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

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


2|0modelform的补充


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'})

__EOF__

本文作者404 Not Found
本文链接https://www.cnblogs.com/weiweivip666/p/13406738.html
关于博主:可能又在睡觉
版权声明:转载请注明出处
声援博主:如果看到我睡觉请喊我去学习
posted @   我在路上回头看  阅读(107)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示