У меня есть список в моих views.py, который я отправляю на HTML-страницу с помощью функции рендеринга, и я распечатываю ее на этой странице. Проблема в том, что, хотя все остальные списки, которые я отправляю, печатаются на странице HTML, эти два списка, которые я отправляю, в частности, не являются.Отображение списка на HTML-странице из Django
приложения/views.py
alttrue = []
altfalse = []
alttrue, altfalse = altCheck(soup)
results = { 'alttrue' : alttrue,
'altfalse' : altfalse,
}
render(context,'app/result.html', results)
Теперь altCheck это функция, которая возвращает два списка, где по крайней мере один из них имеет значение, это точно. В моей result.html,
results.html
<h5>Alt pass results</h5>
{% for tag in alttrue %}
<p>{{ tag }}</p>
{% endfor %}
<h5>Alt fail results</h5>
{% for tag in altfalse %}
<p>{{ tag }} </p>
{% endfor %}
Проблема заключается в том, что работает для цикла по списку и пытается напечатать его, возвращает пустой список ([]). Однако, если бы я попытался напечатать его как таковой
<p>{{ alttrue }}</p>
<p>{{ altfalse }}</p>
Он отлично работает. Он печатает список. Просто итерация списка и распечатка переменных не работает.
В одном, вы используете 'altfalse', а в другой используется' altpass'. Это опечатка? –
Кроме того, ваш рендер должен выглядеть как «render (request, template_name, context)». Мне непонятно, что такое переменная 'context'. https://docs.djangoproject.com/en/1.8/topics/http/shortcuts/#render –