Django 模型字段中 verbose_name 和 help_text 的用途是什么?

pla*_*etp 7 python django django-models

我想知道 Django 模型字段设置的目的是什么verbose_name以及它与help_text. Django 如何使用这些?

Wil*_*sem 13

这些名称用于Django 管理页面。因此,它将使用verbose_name该模型的 来生成不太“机械”的消息,而不是使用模型类的名称。

此外,您可以在自己的项目中使用它们。例如,如果您想获取verbose_name您不(静态)知道的模型的,您可以使用以下方法检索它:

model._meta.verbose_name
Run Code Online (Sandbox Code Playgroud)

这对于编写通用消息很有用。您可以编写如下警告消息:

Are you sure you want to delete the {{ obj._meta.verbose_name }}?
Run Code Online (Sandbox Code Playgroud)

如果您的型号是PizzaTopping,则默认verbose_name'pizza topping'写“您确定要删除披萨配料吗? ”比“您确定要删除披萨配料吗?”更人性化。

例如,您可以使用以下命令检索verbose_name字段的:

model._meta.get_field('some_field').verbose_name
Run Code Online (Sandbox Code Playgroud)

Django 的ModelForm[Django-doc]还默认使用 (大写)verbose_namehelp_textaslabelhelp_text的形式。如果您因此渲染模型表单,并且不调整设置,它将采用verbose_name模型字段的 s 作为标签,并且help_text将显示在该字段上。