【问题标题】:Getting KeyError in my django code在我的 django 代码中获取 KeyError
【发布时间】:2015-02-25 20:38:51
【问题描述】:

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

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

我已经用谷歌搜索过这个“KeyError”,它似乎与 clean() 有关。但是,我的讲师给我的示例没有它也可以正常工作,但是当我尝试重新创建他给我的示例时,我一直收到此错误。

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

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

http://pastebin.com/rAX5PDHQ

对不起,如果我遗漏了什么。如果大家需要更多信息,我会尽快回复。

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

谢谢!

PS 抱歉,我确实尝试了代码格式,但我一直收到错误消息,说它不正确以为预览说没问题。而且我不能发布多个链接。

【问题讨论】:

    标签: python django keyerror


    【解决方案1】:

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

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

    在您的“storeBloodData”视图中。

    【讨论】:

    • 对不起,我忘了说谢谢你的回复!我完全忽略了你所说的,现在一切都解决了。 :)
    【解决方案2】:

    问题似乎在您看来是 storeBloodData,此时。

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

    表单没有名为“用户”的字段。您可以将其替换为表单中声明的​​相关字段。

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

    【讨论】:

    • 对不起,我忘记登录并说声谢谢!确实有效!
    猜你喜欢
    • 2016-02-21
    • 1970-01-01
    • 2018-12-19
    • 2018-10-24
    • 2021-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-19
    相关资源
    最近更新 更多