2016-01-22 7 views
2

Я пытаюсь настроить ярлык для Джанго модели формы:Django формы пользовательской модели поля формы этикетки

class SupplyTypeForm(forms.ModelForm): 
    class Meta: 
     model = EUser 
     fields = ('service_type', 'online_account') 
     labels = { 
      'online_account': _('Do you have an online account with any of your suppliers'), 
     } 

Но я получаю ошибку: NameError: имя «_» не определен

Однако в django docs упоминаются, чтобы сделать это таким образом, поэтому я не понимаю, что не так (подчеркивание странно, и я не уверен, почему он используется здесь). Если удалить это работает и ошибка исчезает

Любой причины, почему документов есть это: https://docs.djangoproject.com/en/1.9/topics/forms/modelforms/#overriding-the-default-fields

+0

Вы сделали правильный импорт? 'from django.utils.translation import ugettext_lazy as _' – gtlambert

+0

@ lambo477 вы должны написать ответ! –

+0

@ DerekKwok спасибо, я закончил! – gtlambert

ответ

5

Вы должны убедиться, что у вас есть правильный импорт:

from django.utils.translation import ugettext_lazy as _ 
+0

Не нужно использовать '_', вы можете полностью удалить его, если вам не нужна поддержка многоязычия в вашем приложении Django. Если вы хотите, то требуется импорт, так как он позволяет размещать тексты перевода в .py-файлах, чтобы «django-admin makemessages» мог легко идентифицировать места перевода текстов. –

1

Вы должны добавить from django.utils.translation import ugettext as _ использовать _()

+0

Должен ли я заполнить это тоже? – gtlambert

Смежные вопросы