Django模型域中verbose_name和help_text的目的是什么?

时间:2019-08-21 12:46:20

标签: python django django-models

我想知道在Django模型字段上设置verbose_name的目的是什么以及它与help_text有何不同。 Django如何使用它们?

1 个答案:

答案 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_namehelp_text作为labelhelp_text的形式。如果您以此方式渲染模型表单,而又不进行设置调整,则会以模型字段的verbose_name作为标签,而help_text将会显示在那个领域。