Как передать словарь в шаблон в Django?

Я смотрю учебник по Django (Corey Schafer) о том, как создать веб-приложение, однако мне пришлось использовать другой метод, чтобы заставить шаблон появиться. Все работает хорошо. Функция, которую он использует, имеет аргумент, которого у меня нет, что позволяет словарю появляться на сайте. Есть идеи, как это исправить? (Извините, если это вопрос новичка, я очень новичок)

from django.shortcuts import render
from django.http import HttpResponse
from django.template import loader

def home(request):
    context = {
        'news': news
    }
    template = loader.get_template('home.html')
    return HttpResponse(template.render())

Я попытался передать его вместе с template.render(), и это привело к тому, что на экране появился весь необработанный HTML-код.

При использовании django.shortcuts.render (в отличие от template.render) не следует использовать HttpResponse напрямую.

Вместо этого передайте объект request, путь/имя шаблона, диктуемый контекст и статус HTTP.

from django.shortcuts import render

def home(request):
    context = {
        'news': news
    }

    return render(request, 'home.html', context=context, status=200)

HttpResponse понятия не имеет, что такое диктант context и как его применить к шаблону, его единственная задача - принять строку и вернуть ее клиенту.

Вернуться на верх