Как использовать несколько возвращаемых значений в HTML

Мне нужно использовать несколько возвращаемых значений из функции в HTML

Вот краткая версия кода. Все импорты корректны и если я возвращаю одно значение, то оно работает. Только не знаю, как вызвать оба значения в HTML.

Вид:

def get_title_and_text():
    title = 'Some title'
    text = 'Some text'

    return title, text

def page():
    return render(request, 'page.html', {'get_title_and_text': get_title_and_text()}

В HTML

<h3>{{ get_title_and_text.title }}</h3>
<h3>{{ get_title_and_text.text }}</h3>

Наверное, это простое решение, но я просто не смог найти информацию по этому вопросу

Есть два варианта: работа с подсловарем или работа с индексами:

Вариант 1: подсловари

def get_title_and_text():
    title = 'Some title'
    text = 'Some text'
    return {'title': title, 'text': text }

Вариант 2: построить контекст в функции

Другой вариант - построить весь контекст в функции, в этом случае мы работаем с:

def get_title_and_text():
    title = 'Some title'
    text = 'Some text'
    return {'title': title, 'text': text }

и вызовите функцию с помощью:

def page():
    return render(request, 'page.html', get_title_and_text()}

В этом случае вы можете отобразить страницу с помощью:

<h3>{{ title }}</h3>
<h3>{{ text }}</h3>

Вариант 3: работа с индексами

По сути, вы связываете 2-кортеж с переменной get_title_and_text. Таким образом, вы можете получить доступ к ней с помощью:

<h3>{{ get_title_and_text.0 }}</h3>
<h3>{{ get_title_and_text.1 }}</h3>

Вид:

def get_title_and_text():
    title = 'Some title'
    text = 'Some text'
    context = {
     'title' : title,
     'text' : text
    return context

def page():
    return render(request, 'page.html', context)

в html

<h3>{{ title }}</h3>
<h3>{{ text }}</h3>
Вернуться на верх