Найти - Пользователи
Полная версия: вопрос по Internationalization and localization Django
Начало » Python для новичков » вопрос по Internationalization and localization Django
1
gtlhbkkj
в таблице (модели) Application перечисляются на английском задачи.
они выходят в шаблоне через выпадающее меню формы
Как их интернализировать?
Можно ли вообще автоматизировать перевод значений в таблице или нужно создавать отдельное поле, каждый раз проверять request.LANGUAGE_CODE и на него переключаться?

другой вопрос как интернализировать в форме метку
label = “Specify application” ?
через подчеркивание не получается







Спаибо
FishHook
gtlhbkkj
Ой-ой, что вы делаете!
 class MyModel(Model):
    pass
  
  
class MyForm(Form):
    field = MyModel.objects...
Так делать нельзя. Во-первых, ваше поле field получит какое-то значение только один раз при импорте класса, и после этого вы можете сколько угодно изменять данные в MyModel, значение field от этого не изменится. Мне кажется, это несколько не то, чего ожидают от данных. Во-вторых, я бы не стал расчитывать на порядок импорта классов. Сейчас класс вашей формы зависит от класса модели, и мы рассчитываем, что весь ОРМ уже находится в работоспособном состоянии на этот момент, что есть коннект к БД, построена иерархия моделей и пр. Я бы не стал на это надеяться, потому что это отличный способ в какой-то момент сломать всю вашу программу и получить какое-то непонятное поведение, если например, обновится версия джанги, или вы запустите проект с DEBUG = False и при этом порядок инициализации фреймворка изменится.

Локализация хранимых данных делается с помощью https://github.com/deschler/django-modeltranslation
gtlhbkkj
FishHook
Ой-ой, что вы делаете!
1. так как вы написали - так правильно для того случая что вы описали? Это для меня на будущее.
 class MyModel(Model):
    pass
  
class MyForm(Form):
    field = MyModel.objects...

2. в моем случае не предполагается изменения данных посетителем. Посетитель вводит какие-то свои параметры и получает свой сгенерированный отчет. В этом случае, думаю, никаких проблем нет с правильностью функционирования. Так?

3. Насчет локализации спасибо. Классный пакет.
FishHook
gtlhbkkj
так как вы написали - так правильно для того случая что вы описали?

https://docs.djangoproject.com/en/3.0/ref/forms/fields/#django.forms.ModelChoiceField
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB