Opened 16 years ago
Last modified 13 years ago
#8436 closed
Silent crash in forms rendering — at Initial Version
Reported by: | stilldodge | Owned by: | nobody |
---|---|---|---|
Component: | Forms | Version: | dev |
Severity: | Keywords: | errors, Form | |
Cc: | Triage Stage: | Accepted | |
Has patch: | no | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | no |
Easy pickings: | no | UI/UX: | no |
Description
Given form as follows, as_table crashes
I expect this has to do with collisions to properties of Form and variations of problems will probably happen with (errors, changed_data, media)
class TestForm(forms.ModelForm):
errors = forms.CharField(widget=forms.HiddenInput)
class Meta:
model = MyModel
Stack trace
c:\django\django\forms\forms.py in as_table(self)
175 def as_table(self):
176 "Returns this form rendered as HTML <tr>s -- excluding the <table></table>."
--> 177 return self._html_output(u'<tr><th>%(label)s</th><td>%(errors)s%(field)s%(help_text)s</td></tr>', u'<tr><td colsp
"2">%s</td></tr>', '</td></tr>', u'<br />%s', False)
178
179 def as_ul(self):
c:\django\django\forms\forms.py in _html_output(self, normal_row, error_row, row_ender, help_text_html, errors_on_separate_row)
131 def _html_output(self, normal_row, error_row, row_ender, help_text_html, errors_on_separate_row):
132 "Helper function for outputting HTML. Used by as_table(), as_ul(), as_p()."
--> 133 top_errors = self.non_field_errors() # Errors that should be displayed above all fields.
134 output, hidden_fields = [], []
135 for name, field in self.fields.items():
c:\django\django\forms\forms.py in non_field_errors(self)
191 are none.
192 """
--> 193 return self.errors.get(NON_FIELD_ERRORS, self.error_class())
194
195 def full_clean(self):
AttributeError: 'CharField' object has no attribute 'get'