Django

Code

Changeset 4182

Show
Ignore:
Timestamp:
12/07/06 09:49:05 (2 years ago)
Author:
adrian
Message:

newforms: Changed Form._html_output() to use dictionary-style format strings for more flexibility. Thanks, Waylan Limberg

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • django/trunk/django/newforms/forms.py

    r4179 r4182  
    8585                hidden_fields.append(unicode(bf)) 
    8686            else: 
    87                 label = bf.label_tag(escape(bf.verbose_name+':')) 
    88                 if errors_on_separate_row: 
    89                     if bf_errors: 
    90                         output.append(error_row % bf_errors) 
    91                     output.append(normal_row % (label, bf)) 
    92                 else: 
    93                     output.append(normal_row % ((bf_errors, label, bf))) 
     87                if errors_on_separate_row and bf_errors: 
     88                    output.append(error_row % bf_errors) 
     89                output.append(normal_row % {'errors': bf_errors, 'label': bf.label_tag(escape(bf.verbose_name+':')), 'field': bf}) 
    9490        if top_errors: 
    9591            output.insert(0, error_row % top_errors) 
     
    106102    def as_table(self): 
    107103        "Returns this form rendered as HTML <tr>s -- excluding the <table></table>." 
    108         return self._html_output(u'<tr><td>%s</td><td>%s</td></tr>', u'<tr><td colspan="2">%s</td></tr>', '</td></tr>', True) 
     104        return self._html_output(u'<tr><td>%(label)s</td><td>%(field)s</td></tr>', u'<tr><td colspan="2">%s</td></tr>', '</td></tr>', True) 
    109105 
    110106    def as_ul(self): 
    111107        "Returns this form rendered as HTML <li>s -- excluding the <ul></ul>." 
    112         return self._html_output(u'<li>%s%s %s</li>', u'<li>%s</li>', '</li>', False) 
     108        return self._html_output(u'<li>%(errors)s%(label)s %(field)s</li>', u'<li>%s</li>', '</li>', False) 
    113109 
    114110    def as_p(self): 
    115111        "Returns this form rendered as HTML <p>s." 
    116         return self._html_output(u'<p>%s %s</p>', u'<p>%s</p>', '</p>', True) 
     112        return self._html_output(u'<p>%(label)s %(field)s</p>', u'<p>%s</p>', '</p>', True) 
    117113 
    118114    def non_field_errors(self):