Python 在django what';这是form.errors[';field#u name';]和form[';field#u name';]之间的区别。错误?
3号线和5号线有什么区别?它们有不同的用途吗?当您访问Python 在django what';这是form.errors[';field#u name';]和form[';field#u name';]之间的区别。错误?,python,django,forms,Python,Django,Forms,3号线和5号线有什么区别?它们有不同的用途吗?当您访问f['message']时。错误,您正在使用该属性 如果查看源代码,可以看到BoundField.errors尝试从表单的错误(如果存在)中获取错误列表 >>> f = ContactForm({'subject': 'Hello', 'message': ''}) >>> f.errors['message'] >>> [u'This field is required.'] >&
f['message']时。错误
,您正在使用该属性
如果查看源代码,可以看到BoundField.errors
尝试从表单的错误(如果存在)中获取错误列表
>>> f = ContactForm({'subject': 'Hello', 'message': ''})
>>> f.errors['message']
>>> [u'This field is required.']
>>> f['message'].errors
>>> [u'This field is required.']
在字段没有错误的情况下,BoundField.error
属性返回一个空的错误列表,因此行为略有不同
@property
def errors(self):
"""
Returns an ErrorList for this field. Returns an empty ErrorList
if there are none.
"""
return self.form.errors.get(self.name, self.form.error_class())
在字段上具有此errors属性可以很容易地循环模板中表单的字段,并显示错误
>>> f = ContactForm({'subject': 'Hello', 'message': 'world!'})
>>> f.errors
{}
>>> f.errors['message']
KeyError
>>> f['message'].errors
>>> []
{% for field in form %}
{{ field }}
{{ field.errors }}
{% endfor %}