我最近遇到了ugettext_lazy
的奇怪编码问题,我无法弄清楚发生了什么。
我有一个基本形式:
class SignupForm(forms.Form):
username = forms.CharField(max_length=100, label=_(u"Username"))
...
在我的情况下,“用户名”转换为“Nom d'utilisateur”,但是当我渲染标签时,我得到的是字符代码而不是撇号。
我找到的一个解决方案是在force_text
上使用_(u"Username")
但显然我不应该这样做。使用ugettext
代替ugettext_lazy
也可以,但不是我想要的。
我没有更改Django的默认字符集,我的HTML文件使用的是utf-8。
我正在使用Python 2.7和Django 1.5。
有没有人知道这里可能出现什么问题?