Django形式和国际化 - 标签的错误语言

时间:2018-06-05 16:46:56

标签: django forms translation

我在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”标签使用了错误的语言。

我在视图中添加了一个已翻译的变量来验证,当我在模板中显示时,这个变量的语言正确。

有人想知道我的标签也是正确的语言吗?

由于

2 个答案:

答案 0 :(得分:0)

您使用' _'引用ugettext_lazy ,你的import语句就是问题..

from django.utils.translation import ugettext_lazy

应该是

from django.utils.translation import ugettext_lazy as _

答案 1 :(得分:0)

我一般建议人们不要在要翻译的字符串上使用1,而是依赖CSS(例如.upper())。

操纵已翻译的字符串一直给我带来很多问题。