问题
Why does this Django code use _
in front of 'has favicon'
has_favicon = models.BooleanField(_('has favicon'))
回答1:
If you look in the import statements, you'll find that they tied _ to a function that turns stuff into unicode and localizes it by writing:
from django.utils.translation import ugettext_lazy as _
回答2:
_
in Django is a convention that is used for localizing texts. It is an alias for ugettext_lazy. Read Lazy translation in the docs for more info about it.
回答3:
_
is usually a macro/function from gettext, it means the argument is a localized string. this is not limited to Django or Python. in fact gettext is originally a package for C programs, ported to many other languages over the years.
来源:https://stackoverflow.com/questions/1962287/what-does-do-in-django-code