Как изменить язык в 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?

источник: Создание пользовательских сообщений об ошибках с помощью моделей форм

Вернуться на верх