Django передает несколько переменных из представления в HTML-шаблон
У меня есть такой вид:
def device_list(request):
f1 = open('Switches.txt', 'r')
file1 = f1.read()
context1 = {'file1': file1}
f2 = open('Routers.txt', 'r')
file2= f2.read()
context2 = {'file2': file2}
return render(request, "device_list.html", context1, context2)
Итак, он считывает 2 файла, выполняет некоторую обработку и затем выводит в HTML файл.
Проблема в том, что на странице отображаются только данные контекста1. Контекст2 не отображается. Если я удалю контекст1, то он покажет контекст2. Так что, по сути, они не работают вместе. Только один из них должен быть там, чтобы работать.
Вот мой файл шаблона (device_list.html):
{% extends 'base.html' %}
{% block first_file %}
{% for result in file1 %}
<div class="row">
{{ result }}
</div>
{% endfor %}
{% endblock %}
{% block second_file %}
{% for result in file2 %}
<div class="row">
{{ result }}
</div>
{% endfor %}
{% endblock %}
}}
Как я могу показать их обоих вместе?
Просто поместите весь контекст в один словарь:
def device_list(request):
context = {}
f1 = open('Switches.txt', 'r')
file1 = f1.read()
context.update({'file1': file1})
f2 = open('Routers.txt', 'r')
file2= f2.read()
context.update({'file2': file2})
return render(request, "device_list.html", context)