2

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

2 回答 2

12
{% 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 %}
于 2012-06-27T18:02:26.693 回答
0

Django 只是没有将多维数组传递给模板的预设置方法。

最好的解决方法是像这样手动将列分开......(“i”对应于最终输出中的每一行)

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 %}
于 2017-08-28T13:04:08.983 回答