Django Models CharField 参数详解与 Choices 显示技巧
本文详细解析Django中CharField模型字段的常用参数,包括verbose_name、blank、null及help_text的具体作用。同时介绍如何在HTML模板中通过直接访问字段或调用get_字段名_display方法,分别显示数据库存储的代码值与对应的中文可读文本,适用于后台数据的前端展示场景。
Django CharField 核心参数解析
具体配置示例如下所示:
depot_name = models.CharField(
u'设备库房名称',
blank=True,
max_length=20,
null=True,
# default='',
help_text='显示在下方吗',
)
以字段定义中的第一个参数u'设备库房名称'为例,该参数用于设置verbose_name,即在前端表单或后台界面中显示的中文标签。参数blank=True表示在表单验证阶段允许该字段为空值;而null=True则允许在数据库层面存储NULL值。
此外,help_text参数用于定义显示在输入框下方的提示信息,例如u'设备库房名称'同样可作为help_text的内容,用于指导用户操作。综合来看,blank=True控制表单提交时的非空验证,null=True控制数据库存储允许为空,两者配合使用可灵活处理数据完整性与业务逻辑。
CharField Choices 数据的前端展示方法
补充知识:在Django后台管理中,如何正确显示CharField字段中通过choices定义的选项数据。
1. 后台模型代码示例:
class Course(models.Model): degree = models.CharField(choices=(('cj',u'初级'),('zj',u'中级'),('gj',u'高级')),max_length=2,verbose_name=u'难度')
degree = models.CharField(choices=(('cj',u'初级'),('zj',u'中级'),('gj',u'高级')),max_length=2,verbose_name=u'难度')
2. 在HTML模板中的两种显示方式:
第一种方式:直接显示存储在数据库中的代码值(如cj、zj、gj):
<span class="fl">难度:<i class="key">{{ curent_org.degree }}</i></span>
第二种方式:显示choices中定义的对应中文文本(如初级、中级、高级):
<span class="fl">难度:<i class="key">{{ curent_org.get_degree_display }}</i></span>
以上内容总结了Django Models中CharField参数的配置方法以及前端展示choices数据的技巧,希望能为开发者提供参考。
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













