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 模板中全面地显示来自视图的各种类型的变量。

在上面的例子中,我们使用{%with%}标签定义了一个变量username并给它赋值为"John"。在上面的例子中,我们使用{%for%}标 ...
在Django模板中,我们经常需要判断变量是否存在或者是否有值,以便在模板中进行条件控制和展示不同的内容。在上面的示例代码中,我们检查变量v ...
Django是一个流行的PythonWeb框架,提供了许多模板标签(templatetags),用于在Django模板中执行动态操作。这些标 ...
在Django中,stringformat是一个非常有用的模板过滤器,它允许你在模板中对变量进行格式化处理。stringformat:指定使 ...
length是Django的内置模板过滤器之一,它用于获取变量的长度或者元素数量。总结:length过滤器是Django模板中常用的过滤器之 ...