-1

テンプレートで for ループを使用しており、各レコードの異なる ID に対して配列を使用しています

{% for item in product %}

<div class="register_div">


    <p><label for="id[{{ item.id }}]">{{ item.Name }} </label> <input type="text" name="custom[{{item.id}}]"/></p>

</div>

{% endfor %}

今、私のビューで、このデータをデータベースに保存したいのですが、最初に、配列が何かを返すかどうかを確認しました。

q = upload_form.data['custom[]']

また

 q = upload_form.data['custom']

しかし、それは私にこのエラーを与えます

"Key 'custom[]' **OR** key custom not found in <QueryDict: {u'custom[2]': [u's'], u'custom[1]': [u'a'], u'price': [u''], u'title': [u''], u'customatt': [u'', u''], u'csrfmiddlewaretoken': [u'up4Ipd5L13Efk14MI3ia2FRYScMwMJLz']}>"

しかし、これを印刷すると

q = upload_form.data['custom[1]']

次に、配列 1 の値を表示します。

したがって、これを行うためのより良い方法を提案してください。views.py で配列内のすべての値を表示する方法を教えてください。

4

2 に答える 2

3

辞書と同様upload_form.dataに、キー「custom[]」は単に存在しません。次のようなものを試してください:

custom_values = {}    
for key, value in in upload_form.data.items():
    if key.startswith('custom'):
        custom_values[key]=value

ディクショナリcustom_valuesには、すべての「カスタム」フォーム値が保持されます。

于 2012-10-11T07:03:53.107 に答える
0

これは質問に対する答えではありませんが、次のようになります。

配列を投稿していませんが、名前が配列にアクセスしているように見えるさまざまな入力を投稿しています。custom[1]たとえば、などという名前のさまざまな入力変数を投稿していますcustom[2]。ただしcustom、配列ではないため、などのように入力にアクセスする必要がありますcustom[1]

これが欲しいかどうかわかりません!

于 2012-10-11T06:49:50.033 に答える