在Django中,我有一个字符串常量文件(比如错误消息),我将把它作为用户可见的内容传递给模板。我想在Django的翻译框架中使用这些。最好的方法是什么?
最好的方法是在你的常量文件中使用Django的延迟翻译:
from django.utils.translation import ugettext_lazy
STRING_CONSTANT1 = ugettext_lazy("Here is some string")
...
如果使用gettext_lazy
,在呈现模板时可能会遇到以下错误:
UnicodeEncodeError: 'ascii'编解码器无法编码字符u'uxxxx' in位置0:序数不在(128)范围内
使用ugettext_lazy
而不是gettext_lazy
解决了这个问题。