我想知道在Django模型字段上设置verbose_name
的目的是什么以及它与help_text
有何不同。 Django如何使用它们?
答案 0 :(得分:2)
这些名称在Django admin pages中使用。因此,它将使用该模型的verbose_name
而不是使用模型类的名称来生成不太“机械”的消息。
此外,您可以在自己的项目中使用它们。例如,如果您想获取一个(静态)未知的模型的verbose_name
,则可以使用以下方法进行检索:
model._meta.verbose_name
这对于编写通用消息很有用。您可以编写警告消息,例如:
Are you sure you want to delete the {{ obj._meta.verbose_name }}?
如果您的模型是PizzaTopping
,则默认verbose_name
是'pizza topping'
。与“ 确定要删除PizzaTopping ?”相比,写“ 确定要删除Pizza Topping?”对人类更友好。 >
例如,您可以使用以下方法检索字段的verbose_name
:
model._meta.get_field('some_field').verbose_name
Django的ModelForm
[Django-doc]进一步默认使用(大写的)verbose_name
和help_text
作为label
和help_text
的形式。如果您以此方式渲染模型表单,而又不进行设置调整,则会以模型字段的verbose_name
作为标签,而help_text
将会显示在那个领域。