几个小时后,我仍然没有想出在这种情况下如何做/思考,我认为在开始时这将是最简单的任务..
有一个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> </p>
{% endfor %}
我不知道这有多清楚,如果不让我知道,我会尝试解释更多。欢迎任何建议!
答案 0 :(得分: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> </p>
{% endfor %}
更好的方法是,name
的值来自activity
对象,这样您就不必操纵for循环,并且可以执行某些操作name="{{activity.day}}"
答案 1 :(得分:0)
谢谢!我解决了这个问题,建议您使用ID而不是实际的日期名称来填充db的名称。效果很好。