Найти - Пользователи
Полная версия: Изменение форматированного вывода errors формы. Переопределение класса errors
Начало » Django » Изменение форматированного вывода errors формы. Переопределение класса errors
1
pal201
Переопределил errors таким образом:
class DivErrorList(ErrorList):
def __unicode__(self):
return self.as_divs()
def as_divs(self):
if not self: return u''
return u'<div class="errorlist">%s</div>' % ''.join([u'<div class="error">%s</div>' % e for e in self])

Форма вызывается таким образом:
 form = InsertTo(request.POST,auto_id='%s',error_class=DivErrorList) 

Но все равно добавляются теги <ul> а уже внутри них список div. Как переопределить это поведение?

Спасибо
FishHook
class ModelForm3Col(ModelForm):
    def __init__(self, *args, **kwargs):
        error_class = kwargs.get('error_class', DivErrorList)
        kwargs.update(error_class=error_class)
        super(ModelForm3Col, self).__init__(*args, **kwargs)
    def as_table(self):
        """Same as_table but error on same row"""
        return self._html_output(
            normal_row = u'<tr%(html_class_attr)s><th>%(label)s</th><td>%(field)s%(help_text)s</td><td>%(errors)s</td></tr>',
            error_row = u'<tr><td colspan="2">%s</td></tr>',
            row_ender = u'</td></tr>',
            help_text_html = u'<br /><span class="helptext">%s</span>',
            errors_on_separate_row = False)
pal201
Спасибо за ответ.
Класс наследуется от Model.Form? Этот класс нужно определить в forms.py?
Спасибо.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB