二维数组Django

时间:2012-06-27 18:01:20

标签: python html django django-templates

我的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]'

2 个答案:

答案 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 %}