2014-01-27 4 views
0

Я пытаюсь написать is_valid метод для моих форм, и я использую эту общую стратегию:Как обновить форму с ошибками в Django?

def is_valid(self): 
    form = super(UserCreateForm, self).is_valid() 
    for f, error in self.errors.iteritems(): 
     if f!= '__all__': 
      self.fields[f].widget.attrs.update({'class': 'error', 'value': strip_tags(error)}) 
    return form 

Я хочу обновить атрибуты полей формы, если я получаю сообщение об ошибке с полезными признаками. Но у меня уже есть атрибуты класса для полей (используя Bootstrap, что-то вроде «class»: «form-control»); Я хочу, чтобы ошибка заменила их. Однако, когда я отказываюсь от проверки и фактически получаю сообщение об ошибке, Django жалуется, что не может конкатенировать str и errorList. Я немного новичок в Django, поэтому я не уверен, что здесь происходит.

ответ

0

То, как я это делаю, проверяет ошибки на всех отдельных div и отображает класс .error, если я нахожу ошибку. Например: {% if form.error%}

Как будто вы проверяете его с каждым зарегистрированным именем. Примечание: Там могут быть более эффективные способы сделать это, но я использовал это в течение длительного времени и отлично работал.

Смежные вопросы