Объект, созданный в представлении, не отображается в шаблоне

Я создаю новый объект в представлении через внешнюю функцию. Вот код:

def index(request):
    sousei = suii_scratch(SOUSEI_URL)
    s_jikan = sousei[0]
    s_suii = sousei[1]
    sousei_obj = Sousei.objects.create(jikan=s_jikan, suii=s_suii)
    #print(sousei_obj)
    context = {
        sousei_obj : 'sousei',
    }
    return render(request, 'index.html', context)

Внешняя функция возвращает два значения, которые попадают в переменные s_jikan и s_suii. Эти переменные затем используются для создания нового объекта (модель имеет только эти два поля).

Если я раскомментирую оператор print, то у меня выводится метод __str__ модели с новыми данными, полученными из внешней функции. Также, если я проверю администратора, новая запись в базе данных сохраняется правильно. До этого момента вроде бы все работает нормально, но при передаче созданного объекта в шаблон я не могу добиться его рендеринга. Вот код шаблона:

{% if sousei %}

<p>{{sousei.jikan}}</p>
<p>{{sousei.suii}}</p>

{% else %}

<p>No data.</p>

{% endif %}

Но я продолжаю получать сообщение об отсутствии данных. Что я упускаю?

В словаре ключ идет перед значением, вы использовали созданный объект в качестве ключа и строку в качестве значения в вашем контексте

def index(request):
    ...
    context = {
        'sousei': sousei_obj
    }
    return render(request, 'index.html', context)
Вернуться на верх