2016-04-17 13 views
0

現在、Djangoでは、同じ変数名の複数のデータを保持する同じ名前の入力を持つようなことをしたいと思います。だから、のようなもの:....このような何かをPython:入力配列を持つMultiValueDictKeyError

materials = request.POST['material'] 

for material in materials: 
    material.log_material(material.keys.id, material.values.value) 

:私

<input type="text" name="material[1]" value="Mascara"> 
<input type="text" name="material[2]" value="Lipstick"> 
<input type="text" name="material[3]" value="Eyeliner"> 

とコントローラのように何かを与えるだろう

<input type="text" name="material[{{material.id}}]" value="{{material.material_name}}"> 

私はまだそれを得ていませんが、request.POST['material']を取得しようとすると、MultiValueDictKeyErrorエラーが発生します。私はこれをPHPで行うことができ、Pythonには新しいので、これと同等の権利を実際に見つけることはできません。

+0

の可能性のある重複した[ジャンゴMultiValueDictKeyErrorエラーを、どのように私はそれに対処します](HTTP ://stackoverflow.com/questions/5895588/django-multivaluedkeyerror-error-how-do--deal-with-it) – jDo

+0

'print(request.POST.dict())'や 'print(request.POST) ) 'キーで実際に利用可能なキーを確認します。 – jDo

答えて

0

ただ、フィールド名から添字を削除:

<input type="text" name="material" value="Mascara"> 
<input type="text" name="material" value="Lipstick"> 
<input type="text" name="material" value="Eyeliner"> 

そして、あなたのビューでは、ない:

materials = request.POST.getlist("material") 
+0

私もそれにid#を追加したいと思います。 –

+0

どこに追加しますか? –