Форма Джанго и интернационализация - неправильный язык для лейбла - PullRequest
0 голосов
/ 05 июня 2018

У меня проблема с отображением формы на моем сайте Django.

Моя форма form.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" на неправильном языке.

Я добавил переведенную переменную в свое представление, чтобы убедиться, что она отображается на правильном языке, когда я отображаю ее в моемtemplate.

У кого-нибудь есть идея, чтобы мой ярлык тоже был на правильном языке?

Спасибо

Ответы [ 2 ]

0 голосов
/ 05 июня 2018

Я бы вообще рекомендовал людям не использовать .upper() в строках, которые должны быть переведены, и вместо этого полагаться на CSS (например, text-transform: uppercase).

Управление переведенными строками всегда создавало много проблемдля меня.

0 голосов
/ 05 июня 2018

Вы ссылаетесь на ugettext_lazy, используя '_', проблема с оператором импорта ..

from django.utils.translation import ugettext_lazy

должно быть

from django.utils.translation import ugettext_lazy as _
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...