在我的 Django 代码中获取 KeyError

Getting KeyError in my django code

我是 Django 和 Python 的新手,所以如果我觉得很烦人,请原谅我....我只是被误导了!

错误代码:http://i.gyazo.com/68d88cabf536b129dc37cde6c3ae319c.png

我用谷歌搜索了这个 'KeyError',它似乎与 clean() 有关。然而,我的讲师给我的例子在没有它的情况下工作正常,但是当我试图重新创建他给我的东西时,我不断收到这个错误。

一些信息:我最初为每次提交的用户提供一个 ForeignKey,所以我将其更改为一个简单的表格来填写(不是永久解决方案),但我仍然得到一个 KeyError。

这是我的模型、视图和表单:

http://pastebin.com/rAX5PDHQ

抱歉,如果我遗漏了什么。如果你们都需要更多信息,我会尽快回复。

再次抱歉,如果这是一个愚蠢的问题。但老实说,我完全迷失了。

谢谢!

PS 抱歉,我确实尝试了代码格式设置,但我一直收到错误消息,说它不正确,以为预览说没问题。而且我不能 post 超过一个 link.

您的表单中没有名为 user 的字段。尝试将相关行更改为:

 bd = BloodData  (respondent=cd['respondent'],

在您的 "storeBloodData" 视图中。

此时问题似乎出在您的视图 storeBloodData 中。

bd = BloodData  (respondent=cd['user'],

表单中没有名为 'user' 的字段。您可以将其替换为表单中声明的​​相关字段。

此外,当您不确定字典是否包含该特定键时,最好使用 DICT.get(key)。这样,当密钥不存在时,您将简单地返回 None,并且您将能够躲避 KeyError。