Django模板进阶:include标签与自定义Tag详解

月亮慢半拍
月亮慢半拍
发布时间:2026-10-13| 2人浏览过
原创

本文详细解析Django模板中include标签的变量传递机制,并指导如何创建自定义templatetags包。通过示例演示如何编写Python过滤器函数并在HTML中加载使用,实现如分页逻辑等复杂功能,帮助开发者掌握Django模板的高级用法。

模板标签include的使用

{%include"police/module/carousel.html"withimgs=imgsdiv_id='#carousel-index'%}

以carousel.html为例,该文件用于展示轮播图组件。在使用include标签引入此模板时,需通过with关键字传入imgs和div_id两个变量,以便子模板获取必要的数据和标识符。

自定义tag的使用

添加目录和文件

在djangoapp应用目录下新建一个名为templatetags的Python包(Packages),务必注意选择包而非普通目录,具体结构参考下图。

随后,在应用下的templatetags文件夹中创建文件custom_tags.py,并在该文件中编写如下代码逻辑。

# -*- coding: utf-8 -*-

from django import template
register = template.Library()
@register.filter(name='range1')
def range1(value):
  value += 1
  return range(1, value)

在模板文件中使用

在当前应用的templates目录下的模板文件头部,添加以下代码行以加载自定义标签库。

例如,路径为polls/templates/polls/index.html的文件。

{% load custom_tags %}

加载完成后,即可在模板中调用自定义功能,具体用法如下所示。

{% for p in page.totalPages|range1 %}
  <li> {{ p }}</li>
{% endfor %}

总结

以上即为关于Django模板使用的全部内容,希望能为读者提供帮助。若需进一步了解,可继续查阅本站其他文章:

获取Django项目的全部url方法详解

Python编程django实现同一个ip十分钟内只能注册一次

Python通过Django实现用户注册和邮箱验证功能代码

如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。