📜  Django 模板标签(1)

📅  最后修改于: 2023-12-03 15:14:44.312000             🧑  作者: Mango

Django 模板标签

Django 模板标签是 Django 框架中用于在 HTML 模板中插入动态内容的特殊语法。它允许程序员执行条件判断、迭代循环、获取变量的值以及调用自定义的函数等操作,以便灵活地生成动态页面。

使用模板标签

Django 模板标签使用 {% %} 的语法来标识。下面是一些常用的模板标签:

if/else

{% if condition %} ... {% else %} ... {% endif %}

该标签用于执行条件判断,如果 condition 为真,则执行前面的代码块,否则执行后面的代码块。

for

{% for item in items %} ... {% endfor %}

该标签用于迭代循环,对列表、字典或查询集中的每个元素执行相应的代码块。

注释

{# comments #}

该标签用于在模板中添加注释,注释内容会被忽略。

赋值

{% with var=value %} ... {% endwith %}

该标签用于创建一个临时变量,可以在代码块中使用。

加载模板标签库

{% load library %}

该标签用于加载自定义的模板标签库,以便在模板中使用自定义标签。

内置模板标签

Django 提供了一些内置的模板标签,用于处理常见的操作。下面是一些常用的内置模板标签:

变量输出

{{ variable }}

该标签用于输出变量的值到模板中。

过滤器

{{ variable|filter }}

该标签用于通过预定义的过滤器对变量进行处理,例如对字符串进行切片、格式化日期等。

URL 生成

{% url 'view_name' args %}

该标签用于生成 URL,将视图名称和参数传递给路由系统,生成对应的 URL。

静态文件

{% static 'path/to/file' %}

该标签用于生成静态文件的 URL,例如 CSS、JavaScript 文件等。

自定义模板标签

除了使用内置的模板标签,你还可以创建自己的模板标签,以满足特定需求。自定义模板标签需要在 Django 项目中创建一个模板标签库,并注册自定义标签。

下面是自定义模板标签的基本步骤:

  1. 在项目目录下创建一个名为 templatetags 的文件夹。
  2. templatetags 文件夹中创建一个 Python 文件,作为模板标签库。
  3. 在模板标签库中定义你的自定义标签,可以使用 Python 类或函数的形式。
  4. 在需要使用自定义标签的模板中,使用 {% load library %} 加载模板标签库。
  5. 使用自定义标签。

例如,你可以创建一个用于格式化日期的自定义模板标签:

# my_tags.py

from django import template
from datetime import datetime

register = template.Library()

@register.simple_tag
def format_date(date):
    return date.strftime('%Y-%m-%d')

然后在模板中使用:

{% load my_tags %}

<p>Current date: {% format_date date_variable %}</p>

这将会调用 format_date 标签来格式化日期,并将结果输出到模板中。

以上是关于 Django 模板标签的介绍。模板标签为 Django 提供了强大的灵活性,让程序员能够轻松地生成动态的 HTML 页面。在实际开发中,你可以根据具体需求来选择合适的模板标签,甚至创建自己的自定义标签来满足特定需求。