class PersonType(models.Model):
"""Person type model."""
title = models.CharField(_('title'), max_length=100)
slug = models.SlugField(_('slug'), unique=True)
我想知道_(' titile')在这里做什么标题。什么是_(' slug')为slug做什么?
答案 0 :(得分:0)
Field
子类的第一个位置参数是该字段的verbose_name
:请参阅__init__
的{{1}}构造函数:
Field
下划线class Field(RegisterLookupMixin):
...
def __init__(self, verbose_name=None, name=None, ...)
...
是_
惯例的别名:您可能会看到以下代码行:
ugettext_lazy
Django docs提供功能相当的代码段,它使用关键字参数而不是位置args:
from django.utils.translation import ugettext_lazy as _
这是一个"懒惰的翻译":
这些函数存储对字符串的惰性引用 - 而不是实际的转换。当字符串在字符串上下文中使用时,例如在模板渲染中,将完成翻译本身。
答案 1 :(得分:0)
_是可调用对象(函数,可调用对象)的名称。通常用于gettext函数,例如在Django中:
您可以这样使用:
from django.utils.translation import gettext
equal output = gettext("Welcome to my site.")
或者这样
from django.utils.translation import gettext as _
output = _("Welcome to my site.")
它们都用于翻译,而yot可以在模板中使用此值,如下所示:
<title>{% trans "Welcome to my site." %}</title>
# Will print "Welcome to my site." if the current language is English
# "Bienvenue sur mon site." in French
# "به سایت من خوش آمدید." in Iran