2012-10-11 45 views
-1

我使用我的模板,循環和不同的ID每條記錄的我使用陣列如何發佈一個數組的views.py

{% 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

+0

就像我在我的回答你的[最後一個問題]中所說的(http://stackoverflow.com/questions/12832693/issues-with-feeding-data-into-database-when-using-for-loop),使用django形式庫。 – Caspar

+0

雅我在看........但在這裏面臨的問題是如何顯示數組的值..因爲我的數組採取值,但我無法顯示或使用它,所以如果你建議我某種方式,我可以做到這一點,那麼它對我來說更好。 *並感謝您提供有關formsets的信息* – Inforian

回答

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現在持有所有的「自定義」表單值。

0

顯示我的陣列中的所有值這不是一個答案的問題,而是:

你不是發佈陣列,而是名稱爲的不同輸入看起來像訪問陣列的。例如您發佈名爲custom[1]custom[2]等,但custom不是數組不同的輸入變量,你必須訪問輸入作爲custom[1]

我不知道你想這還是不行!

+0

但是,如果自定義中的記錄太多,那麼我必須編寫那麼多的代碼......所以有什麼辦法可以讓模板中的循環內沒有記錄可以在views.py中訪問 – Inforian