Django 基础教程

Django 查询

Django 展示数据

Django Admin

Django 模板

Django 表单组件

Django 高级

Django FAQ

original icon
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.knowledgedict.com/tutorial/django-template-variable.html

Django 模板变量详解


在 Django 模板中显示视图(View)中的变量,需要通过模板语言来访问和展示这些变量。Django 使用的模板语言称为 Django 模板标签(Django Template Tags),它允许我们在模板中插入动态的数据和逻辑。以下是显示视图变量的各种情况,包括在模板中如何使用不同类型的变量。

假设我们有一个简单的 Django 视图,它向模板传递了以下变量:

# views.py

from django.shortcuts import render

def my_view(request):
    context = {
        'text_variable': 'Hello, this is a text variable!',
        'list_variable': ['Apple', 'Banana', 'Orange'],
        'dictionary_variable': {'key1': 'Value 1', 'key2': 'Value 2'},
        'number_variable': 42,
        'boolean_variable': True,
    }
    return render(request, 'my_template.html', context)

现在,让我们在模板中显示这些变量:

<!-- my_template.html -->

<!DOCTYPE html>
<html>
<head>
    <title>My Template</title>
</head>
<body>
    <!-- 显示文本变量 -->
    <p>{{ text_variable }}</p>

    <!-- 显示列表变量 -->
    <ul>
        {% for item in list_variable %}
            <li>{{ item }}</li>
        {% endfor %}
    </ul>

    <!-- 显示字典变量 -->
    <ul>
        {% for key, value in dictionary_variable.items %}
            <li>{{ key }}: {{ value }}</li>
        {% endfor %}
    </ul>

    <!-- 显示数字变量 -->
    <p>The answer to everything is {{ number_variable }}.</p>

    <!-- 显示布尔变量 -->
    {% if boolean_variable %}
        <p>This is a true statement.</p>
    {% else %}
        <p>This is a false statement.</p>
    {% endif %}
</body>
</html>

上述模板中使用了 Django 模板标签来展示不同类型的视图变量:

  1. {{ variable_name }} : 用于显示文本变量。在模板中使用双花括号 {{ }} 包裹变量名即可。

  2. {% for item in list_variable %}...{% endfor %} : 用于遍历列表变量。使用 {% %} 包裹 for 循环来遍历列表,并在循环内部使用 {{ item }} 来访问列表元素。

  3. {% for key, value in dictionary_variable.items %}...{% endfor %} : 用于遍历字典变量。使用 {% %} 包裹 for 循环来遍历字典的键值对,并在循环内部使用 {{ key }}{{ value }} 来访问键和值。

  4. {% if boolean_variable %}...{% else %}...{% endif %} : 用于根据布尔变量的值进行条件判断。使用 {% %} 包裹 if 语句,并在 else 块中提供可选的逻辑。

通过上述方法,你可以在 Django 模板中全面地显示来自视图的各种类型的变量。