Думаю, вы хотите, чтобы ваши сообщения об ошибках в заполняемых формах были на том же языке, что и сам сайт. Один из простых способов - это добавить следующий код в соответствующий forms.py. Затем формы надо будет наследовать не от forms.Form, а от MyForm (обратите внимание, ExampleForm, в примере ниже, наследуется от него).
class MyForm(forms.Form):
def __init__(self, *args, **kwargs):
super(MyForm, self).__init__(*args, **kwargs)
for k, field in self.fields.items():
if 'required' in field.error_messages:
field.error_messages['required'] = u'Это поле обязательно!'
class ExampleForm(MyForm):
title = forms.CharField(max_length=100, required=True, label=u'Название')
Полный список error_messages для различных типов полей можно увидеть, если просмотреть этот раздел: https://docs.djangoproject.com/en/1.3/ref/forms/fields/#built-in-field-classes
Вот что есть на данный момент:
required - показывается, если данное поле обязательно;
max_length - если превышено максимальное количество символов в символьном поле / в случае с файлами - длина имени файла;
min_length - если символов меньше, чем должно быть, в символьном поле;
invalid_choice - если выбран невозможный choice;
invalid - при неправильном email’е и прочем неправильном вводе данных;
max_value - если превышено числовое значение;
min_value - если значение меньше минимального числового ограничения;
max_digits - если превышено количество цифр в числе;
max_decimal_places - если превышено количество цифр после запятой;
max_whole_digits - если превышено количество цифр до запятой;
missing - если файл не найден;
empty - если файл пустой;
invalid_image - если изображение повреждено;
invalid_list - если неправильный список choice’ов;
invalid_link - для URLField - вызывается, если данного url не существует.
Основано на примере с http://stackoverflow.com/questions/1481771/django-override-default-form-error-messages