Django 形式和国际化 - 标签的错误语言
Django form and internationalisation - wrong language for a label
我在 Django 网站中显示表单时遇到问题。
我的 forms.py 表格:
from django import forms
from django.utils.translation import ugettext_lazy as _
class FiltreMonoForm(forms.Form):
orth = forms.CharField(max_length=255, required=False, label=_('orth').capitalize())
我在views.py中的观点:
from .forms import FiltreMonoForm
def monollist(request, page=1):
if request.GET:
form = FiltreMonoForm(request.GET.copy())
else:
form = FiltreMonoForm()
return render(request, 'lexics/listemonol.html', locals())
在我的模板中 listemonol.html:
{{ form.as_p }}
显示时,我的表单中的 "orth" 标签使用了错误的语言。
我在我的视图中添加了一个已翻译的变量来验证,当我在我的模板中显示它时,它的语言是正确的。
有人想用正确的语言制作我的标签吗?
谢谢
您正在使用“_”引用 ugettext_lazy,您的导入语句有问题..
from django.utils.translation import ugettext_lazy
应该是
from django.utils.translation import ugettext_lazy as _
我通常建议人们不要在要翻译的字符串上使用 .upper()
,而是依赖 CSS(例如 text-transform: uppercase
)。
处理翻译后的字符串总是给我带来很多问题。
我在 Django 网站中显示表单时遇到问题。
我的 forms.py 表格:
from django import forms
from django.utils.translation import ugettext_lazy as _
class FiltreMonoForm(forms.Form):
orth = forms.CharField(max_length=255, required=False, label=_('orth').capitalize())
我在views.py中的观点:
from .forms import FiltreMonoForm
def monollist(request, page=1):
if request.GET:
form = FiltreMonoForm(request.GET.copy())
else:
form = FiltreMonoForm()
return render(request, 'lexics/listemonol.html', locals())
在我的模板中 listemonol.html:
{{ form.as_p }}
显示时,我的表单中的 "orth" 标签使用了错误的语言。
我在我的视图中添加了一个已翻译的变量来验证,当我在我的模板中显示它时,它的语言是正确的。
有人想用正确的语言制作我的标签吗?
谢谢
您正在使用“_”引用 ugettext_lazy,您的导入语句有问题..
from django.utils.translation import ugettext_lazy
应该是
from django.utils.translation import ugettext_lazy as _
我通常建议人们不要在要翻译的字符串上使用 .upper()
,而是依赖 CSS(例如 text-transform: uppercase
)。
处理翻译后的字符串总是给我带来很多问题。