Как изменить язык в django?
я делаю форму на django и хотел бы иметь возможность изменить язык ошибок на испанский, например, если я ввожу неправильную дату, вместо "Введите правильную дату." написано "Ingrese una fecha valida", но когда я делаю изменения, все остается так же, может я что-то делаю не так? PD: я ноб в python
SETTING.PY
LANGUAGE_CODE = 'es'
TIME_ZONE = 'America/Argentina/Buenos_Aires'
USE_I18N = True
USE_L10N = True
USE_TZ = True
Я буду очень признателен за помощь
Django поставляется со встроенной интернационализацией, см. документацию i18n. В случае с сообщениями об ошибках формы, все они помечены для перевода и переведены уже в Django. Все, что вам нужно сделать, это убедиться, что Django выбирает правильный язык для пользователя (см. Как Django обнаруживает языковые предпочтения). Если все ваши пользователи говорят (например, на немецком), вы можете просто указать в настройках следующее:
gettext = lambda x: x
LANGUAGE_CODE = 'de_DE'
LANGUAGES = (
('de', gettext('German')),
)
src: https://stackoverflow.com/a/9763654/12406426
Вы также можете изменить сообщение об ошибке в Формах, если ваш язык не представлен:
class ExampleForm(ModelForm):
class Meta:
model = Author
fields = ('name', 'title', 'birth_date')
labels = {
'name': _('Writer'),
}
help_texts = {
'name': _('Some useful help text.'),
}
error_messages = {
'name': {
'max_length': _("This writer's name is too long."),
},
}
Related: Django's ModelForm - где находится список опций Meta?
источник: Создание пользовательских сообщений об ошибках с помощью моделей форм