2013-02-05 43 views
0

幾個小時後,我仍然還沒有想出怎麼做/想在這種情況下,我在一開始以爲會是最簡單的任務..渲染到響應Django的幾個文本框

有一個html模板,有七個文本框,每天一個。文本框的名稱是當天的名稱。我在他們的文字中寫下,然後按提交。

Django獲取它,並將所有內容放入數據庫中。一切安好。

當我再次加載模板時,我想讓文本框填充數據庫中的數據。但我不知道如何,我需要幫助!

我做的第一件事就是做一個查詢並做一個render_to_response,但是後來我將每個字段渲染了七次,因爲它在查詢中呈現了每個文本框中的所有內容。

如果我的html模板中只有一個文本框,render_to_response工作正常。但是,當我更改模板中的任何數據並按下提交時,所有文本框都具有相同的名稱,並且因爲該django無法將所有七天分開。

{% for activity in activity_data %}  
     Activity <input type="text" class="textbox" value="{{activity.excercise}}" name="monday" size="12" id="inputField1"> <p>&nbsp;</p> 
{% endfor %} 

我不知道這是多清楚,如果不讓我知道,我會盡力解釋更多。任何建議是值得歡迎的!

+0

你使用django ModelForm嗎?如果是,請指定一個實例參數 – christophe31

回答

0

這很醜陋,但您可以使用{%cycle%}標記來遍歷日期名稱。

{% for activity in activity_data %}  

{% cycle 'monday' 'tuesday' 'wednesday' 'thursday' 'friday' 'saturday' 'sunday' as day silent %} 
    Activity <input type="text" class="textbox" value="{{activity.excercise}}" 
       name="{{day}}" size="12" id="inputField1"> <p>&nbsp;</p> 
{% endfor %} 

更好的辦法是,對於name價值來源於activity對象,這樣你就不必操縱的循環,你可以做一些name="{{activity.day}}"

0

謝謝!我解決它作爲你的建議,使用ID填充數據庫的名稱,而不是實際的名稱。很棒。