Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Django
  • » Изменение форматированного вывода errors формы. Переопределение класса errors [RSS Feed]

#1 Сен. 18, 2012 16:28:21

pal201
От:
Зарегистрирован: 2010-01-05
Сообщения: 83
Репутация: +  0  -
Профиль   Отправить e-mail  

Изменение форматированного вывода errors формы. Переопределение класса errors

Переопределил 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. Как переопределить это поведение?

Спасибо



Офлайн

#2 Сен. 19, 2012 05:21:48

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Изменение форматированного вывода errors формы. Переопределение класса errors

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)



Офлайн

#3 Сен. 19, 2012 09:53:13

pal201
От:
Зарегистрирован: 2010-01-05
Сообщения: 83
Репутация: +  0  -
Профиль   Отправить e-mail  

Изменение форматированного вывода errors формы. Переопределение класса errors

Спасибо за ответ.
Класс наследуется от Model.Form? Этот класс нужно определить в forms.py?
Спасибо.



Отредактировано pal201 (Сен. 19, 2012 21:09:16)

Офлайн

  • Начало
  • » Django
  • » Изменение форматированного вывода errors формы. Переопределение класса errors[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version