我的django应用程序中有一个二维数组,我需要传递给html模板。
如何让HTML处理二维数组?
{% block content %}
<h2>Survey</h2>
<form>
{% for q in question %}
<p>{{q[0]}}</p>
<p>{{q[1]}}</p>
{% endfor %}
<input type="submit" value="submit">
</form>
{% endblock %}
我收到了错误:
Could not parse the remainder: '[0]' from 'q[0]'
答案 0 :(得分:10)
{% block content %}
<h2>Survey</h2>
<form>
{% for q in question %}
<p>{{q.0}}</p>
<p>{{q.1}}</p>
{% endfor %}
<input type="submit" value="submit">
</form>
{% endblock %}
答案 1 :(得分:0)
Django没有预先设置的方式将多维数组传递给模板。
最好的解决方法是手动将列分开......(&#34; i&#34;对应最终输出中的每一行)
data = {}
for i, question_answer in enumerate(question_answer_pairs):
data[i]= {
'question':question_answer.question,
'answer':question_answer.answer
}
return render(request, 'survey.html', data)
然后在你的模板中
{% block content %}
<h2>Survey</h2>
<form>
{% for key,value in data.items %}
<p>{{value.question}}</p>
<p>{{value.answer}}</p>
{% endfor %}
<input type="submit" value="submit">
</form>
{% endblock %}