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)
Вернуться на верх