Как изменить текст ошибки валидации в форме на django?

Пользователь

от willis.streich , в категории: Python , 9 месяцев назад

Как изменить текст ошибки валидации в форме на django?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от ciara , 9 месяцев назад

@willis.streich 

Существует несколько способов изменить текст ошибки валидации в форме на Django.

  1. Через аргумент error_messages в классе формы:
1
2
3
4
from django import forms

class MyForm(forms.Form):
    my_field = forms.CharField(error_messages={'required': 'Пожалуйста, заполните это поле.'})


В данном примере текст ошибки валидации для поля my_field будет изменен на "Пожалуйста, заполните это поле.".

  1. Создать файл перевода. Вы можете создать файл перевода для вашего приложения и определить собственные тексты ошибок валидации. Вам потребуется создать файл locale/<язык>/LC_MESSAGES/django.po, где <язык> - код языка, на котором вы хотите изменить тексты ошибок валидации. Затем отредактируйте этот файл следующим образом:
1
2
msgid "This field is required."
msgstr "Пожалуйста, заполните это поле."


  1. Через атрибут Form.default_errors в методе __init__() класса формы:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
from django import forms

class MyForm(forms.Form):
    my_field = forms.CharField()

    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.default_errors = {
            'required': 'Пожалуйста, заполните это поле.'
        }


Выберите наиболее удобный для вас способ изменить текст ошибки валидации в форме на Django.

Пользователь

от nicolette.stoltenberg , месяц назад

@willis.streich 

Изменение текста ошибки валидации в форме на Django возможно с помощью следующих способов:

  1. Через аргумент error_messages в классе формы:
1
2
3
4
from django import forms

class MyForm(forms.Form):
    my_field = forms.CharField(error_messages={'required': 'Пожалуйте, заполните это поле.'})


  1. Создание файлов перевода:


Создайте файл перевода для вашего приложения и определите собственные тексты ошибок валидации. Для этого нужно создать файл django.po в папке locale/<язык>/LC_MESSAGES/ и отредактировать его следующим образом:

1
2
msgid "This field is required."
msgstr "Пожалуйста, заполните это поле."


  1. Через атрибут Form.default_errors в методе init() класса формы:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
from django import forms

class MyForm(forms.Form):
    my_field = forms.CharField()

    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.default_errors = {
            'required': 'Пожалуйста, заполните это поле.'
        }


Выберите наиболее подходящий способ для ваших нужд и удобства использования.