новичок в питоне и джанго. Использование модуля форм и прохождение ошибок по одной (чтобы не просто сваливать их сверху)
Я заметил это решение , чтобы иметь возможность установить собственный формат для ошибок, в моем случае это будет:
<dd class="error">errstr</dd>
И более-менее копируя предоставленный пример, у меня есть следующее:
forms.py (я немного расширил его ради себя)
class DefinitionErrorList(forms.util.ErrorList):
def __unicode__(self):
return self.view_as_dd()
def view_as_dd(self):
if not self:
return u''
return u'<dd class="error">%s</dd>' % '<br />'.join([u'<span>%s</span>' % e for e in self])
main.py
from poke.forms import PokeForm, DefinitionErrorList
def create_new(response, useless):
if response.method == 'POST':
# They posted something, so collect it (duh)
f = PokeForm(response.POST, error_class=DefinitionErrorList)
if f.is_valid():
cd = f.cleaned_data
шаблон для справки
<dt>A small message to remind yourself</dt>
{{ form.message.errors }}
<dd>
<span class="input_border" style="width: 75%;"> {{ form.message }}</span>
<span class="tooltip_span">{{ tooltip.message }}</span>
</dd>
Проблема заключается в том, что с вышеприведенным, если в поле есть ошибка, оно по-прежнему использует формат по умолчанию (), и независимо от того, что я пытаюсь, я не могу использовать свой. Я почти уверен, что пропустил что-то маленькое или неправильно понял некоторые инструкции.
Спасибо за любую помощь, и мне жаль, если я забыл какую-либо информацию!
Редактировать: я использую Django 1.1, если это поможет. И чтобы сделать это (возможно) более понятным, ошибки отображаются нормально, они просто не выглядят так, как я хочу.