3

私は Django と Python の両方に慣れていないので、迷惑だと思ったら許してください....私は非常に誤解されています!

エラーコード: http://i.gyazo.com/68d88cabf536b129dc37cde6c3ae319c.png

この「KeyError」についてグーグルで検索しましたが、clean() に関連しているようです。ただし、講師が教えてくれた例は、それがなくても問題なく機能しましたが、彼がくれたものを再現しようとすると、このエラーが発生し続けました。

ちょっとした情報: 私は元々、送信ごとにユーザーの ForeignKey を持っていたので、入力する単純なフォームに変更しました (永続的な解決策ではありません) が、それでも KeyError が発生します。

ここに私のモデル、ビュー、フォームがあります:

http://pastebin.com/rAX5PDHQ

何か抜けていたらごめんなさい。より多くの情報が必要な場合は、できるだけ早く返信します。

繰り返しますが、これがばかげた質問である場合は申し訳ありません。しかし、私は正直に言うと完全に迷っています。

ありがとうございました!

PS 申し訳ありませんが、実際にコードのフォーマットを試してみましたが、プレビューでは問題ないと言われていましたが、間違っているというエラーが表示され続けました。また、複数のリンクを投稿することはできません。

4

2 に答える 2

1

この時点で、問題はビュー storeBloodData にあるようです。

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

フォームには「user」という名前のフィールドがありません。フォームで宣言されている関連フィールドに置き換えることができます。

また、DICT.get(key)辞書に特定のキーが含まれているかどうかわからない場合に使用することをお勧めします。このようにして、キーが存在しない場合に単純に None が返され、KeyError をかわすことができます。

于 2015-02-26T10:33:51.533 に答える
1

userフォームにという名前のフィールドがありません。関連する行を次のように変更してみてください。

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

あなたの「storeBloodData」ビューで。

于 2015-02-25T20:42:44.383 に答える