Django自定义模型(model)中的字段标签
2016-11-15 21:57
489 查看
方法一:
在编辑页面中,每个字段的标签都是从模块的字段名称生成的。 规则很简单: 用空格替换下划线;首字母大写。例如:Book模块中publication_date的标签是Publication date。
然而,字段名称并不总是贴切的。有些情况下,你可能想自定义一个标签。 你只需在模块中指定verbose_name。
举个例子,说明如何将Author.email的标签改为e-mail,中间有个横线。
修改后重启服务器,你会在author编辑页面中看到这个新标签。
请注意,你不必把verbose_name的首字母大写,除非是连续大写(如:"USA state")。Django会自动适时将首字母大写,并且在其它不需要大写的地方使用verbose_name的精确值。
方法二:
最后还需注意的是,为了使语法简洁,你可以把它当作固定位置的参数传递。 这个例子与上面那个的效果相同。
但这不适用于ManyToManyField 和ForeignKey字段,因为它们第一个参数必须是模块类。 那种情形,必须显式使用verbose_name这个参数名称。
在编辑页面中,每个字段的标签都是从模块的字段名称生成的。 规则很简单: 用空格替换下划线;首字母大写。例如:Book模块中publication_date的标签是Publication date。
然而,字段名称并不总是贴切的。有些情况下,你可能想自定义一个标签。 你只需在模块中指定verbose_name。
举个例子,说明如何将Author.email的标签改为e-mail,中间有个横线。
class Author(models.Model): first_name = models.CharField(max_length=30) last_name = models.CharField(max_length=40) email = models.EmailField(blank=True, **verbose_name='e-mail'** )
修改后重启服务器,你会在author编辑页面中看到这个新标签。
请注意,你不必把verbose_name的首字母大写,除非是连续大写(如:"USA state")。Django会自动适时将首字母大写,并且在其它不需要大写的地方使用verbose_name的精确值。
方法二:
class Author(models.Model): first_name = models.CharField(max_length=30) last_name = models.CharField(max_length=40) email = models.EmailField(**'e-mail',** blank=True)
最后还需注意的是,为了使语法简洁,你可以把它当作固定位置的参数传递。 这个例子与上面那个的效果相同。
但这不适用于ManyToManyField 和ForeignKey字段,因为它们第一个参数必须是模块类。 那种情形,必须显式使用verbose_name这个参数名称。
相关文章推荐
- django模型中的字段和model名显示为中文小技巧分享
- django 模型model与数据库3——高级操作(外联,多对多,修改字段)
- 让django模型中的字段和model名显示为中文
- Django中模型Model添加JSON类型字段的方法
- python-django 模型model字段类型说明
- Django 模型字段类型总结 (Django Model field types summary)
- python-django 模型model字段类型说明
- django进行model字段的自定义
- python-django 模型model字段类型说明
- Django 模型中自定义字段类型Field
- 仿“文章高级搜索”标签在主页中搜索自定义内容模型中的字段
- python-django 模型model字段类型说明
- django的Model 模型中常用的字段类型
- Django中模型Model添加JSON类型字段的方法
- django模型中的字段和model名显示为中文小技巧分享
- 为Django中的模型Model添加JSON类型字段
- Django --- 从已有数据库生成模型 (model)
- Django中自定义标签的所有步骤
- 给电影的模型(Model)和表格增加新的字段(ASP.NET MVC3系列文章七)
- Qt实现自定义模型基于QAbstractItemModel