2013-11-27 86 views
0

在這行中,下劃線之前有什麼相關性('password')?Django password = models.CharField(_('password'),max_length = 128)

password = models.CharField(_('password'), max_length=128)

我看着Django文檔,它指出,在模型字段定義中的第一個參數是一個「冗長的名字」,但是我找不到什麼關聯下劃線在這種情況下?

我期待在整個文件是: https://github.com/django/django/blob/master/django/contrib/auth/models.py

謝謝, 馬克

回答

4

的下劃線表示的一種常見方式,該字符串可用於翻譯:

from django.utils.translation import ugettext_lazy as _ 

這意味着該字符串將在收集這些字符串工具出現了,取代它們翻譯字符串(例如,參見GNU gettext)。這種方法不僅用於Python,還用於需要翻譯字符串的其他編程語言/項目。

如果您要更改Django網站的語言,它會知道顯示一個不同的字符串,而不是'password'(取決於哪些翻譯可用,否則它會默認回到這個英文字符串)。

1

下劃線可能是本地化/翻譯。檢查導入。 ex。

from django.utils.translation import ugettext_lazy as _

相關問題