Django的新手,有人可以解释一下
username=form.cleaned_data['username']
对比
username=form.cleaned_data.get('username')
Django的新手,有人可以解释一下
username=form.cleaned_data['username']
对比
username=form.cleaned_data.get('username')
form.cleaned_data是一本字典。如果您尝试像这样通过字典直接访问密钥,如果找不到密钥,则会引发错误。
>>> ex_dict = {}
>>> ex_dict = {'x':1, 'y':2}
>>> ex_dict['z']
Traceback (most recent call last):
File "<console>", line 1, in <module>
KeyError: 'z'
然而,如果你使用get字典,它会返回None而不是错误,或者你可以指定你期望的返回,如果没有找到键。
>>> ex_dict.get('z')
>>> ex_dict.get('z', 1)
1
这将引发一个KeyErrorif usernamekey is not found
form.cleaned_data['username']
但是如果找不到密钥,这将返回None(默认情况下),不会引发KeyError异常。
form.cleaned_data.get('username')
.get如果未找到键,您可以选择更改默认返回值(如果使用)。
val = form.cleaned_data.get('username', False)
# assume key was not found
print val # should contains False now
从文档:
get(键[,默认])如果key在字典中,则返回key的值,否则返回default。如果未给出默认值,则默认为,因此此方法永远不会引发。
NoneKeyError