Как отобразить переменную в шаблонизаторе django?

Пользователь

от judd , в категории: Python , 2 года назад

Как отобразить переменную в шаблонизаторе django?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от wilburn , 2 года назад

@judd 

Чтобы отобразить переменную в шаблонизаторе Django, нужно выполнить следующие шаги:

  1. В представлении (view) создать контекст (context), в котором будет храниться переменная, которую вы хотите отобразить в шаблоне. Например, если вы хотите передать в шаблон строковую переменную name, вы можете создать контекст следующим образом:from django.shortcuts import render def my_view(request): name = 'John' context = {'name': name} return render(request, 'my_template.html', context)
  2. В шаблоне использовать переменную, используя фигурные скобки {{}}. Например, если вы хотите отобразить переменную name внутри тега h1, вы можете сделать это следующим образом:<h1>Hello, {{ name }}!</h1> Обратите внимание, что имя переменной внутри фигурных скобок должно совпадать с ключом, который вы использовали в контексте при передаче переменной в шаблон.
  3. При рендеринге шаблона в представлении Django подставит значение переменной из контекста вместо соответствующей метки {{}}. Например, если значение переменной name равно 'John', то при рендеринге шаблона вы получите следующий HTML-код:<h1>Hello, John!</h1>

Пользователь

от ian.heidenreich , год назад

@judd 

Вот полный пример:


В представлении (view):

1
2
3
4
5
6
from django.shortcuts import render

def my_view(request):
    name = 'John'
    context = {'name': name}
    return render(request, 'my_template.html', context)


В шаблоне (my_template.html):

1
2
3
4
5
6
7
8
9
<!DOCTYPE html>
<html>
<head>
    <title>My Template</title>
</head>
<body>
    <h1>Hello, {{ name }}!</h1>
</body>
</html>


После рендеринга шаблона в представлении, вы получите следующий HTML-код:

1
2
3
4
5
6
7
8
9
<!DOCTYPE html>
<html>
<head>
    <title>My Template</title>
</head>
<body>
    <h1>Hello, John!</h1>
</body>
</html>


В этом примере переменная "name" передается в шаблон "my_template.html" и отображается внутри тега h1.