общий файл для перевода для программы на Python и приложения Django - PullRequest
0 голосов
/ 27 февраля 2019

`Мне нужно использовать набор констант как в приложении Django, так и в программе Python.Эти константы включают строку для перевода.Я определил эти константы в отдельном файле с именем constants.py:

E6000_Stitch_Tech_RANGES_TYPES = ( 
    ('CO', _ ('Cast_On'), (1,15)),
    ('BA', _ ('basic point no grid pattern'), (100,122)), 
    ('TK', _ ('Tuck stitch'),(129,175)),
    )

В моей программе ptyhon я импортирую gettext, и '_' кажется распознанным.В моих моделях Django я делаю:

from django.utils.translation import gettext_lazy as _
from .constants import E6000_Stitch_Tech_RANGES_TYPES as RANGES_TYPES 

и получаю следующее сообщение об ошибке: ('CO', _ ('Cast_On'), (1,15)), NameError: name '_' isне определено.

Любое решение?

1 Ответ

0 голосов
/ 27 февраля 2019

В моих моделях Django я делаю:

from django.utils.translation import gettext_lazy as _
from .constants import E6000_Stitch_Tech_RANGES_TYPES as RANGES_TYPES

Если я правильно понимаю, вы не импортировали функцию вваши константы.Это означает, что имя _ не определено в scope из constants.py.Да, это определено в models.py, но это другой объем.Если вызов интерпретируется, и это делается в области действия этого файла, он не может найти ссылку.

Таким образом, вам необходимо выполнить импорт в самом файле constants.py, например:

# app/constants.py

# you need to import this in constants.py if you make the calls in constants.py
<b>from django.utils.translation import ugettext_lazy as _</b>

E6000_Stitch_Tech_RANGES_TYPES = ( 
    ('CO', _ ('Cast_On'), (1,15)),
    ('BA', _ ('basic point no grid pattern'), (100,122)), 
    ('TK', _ ('Tuck stitch'),(129,175)),
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...