尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

django-template-partials快速上手:可复用命名partial的安装与第一个示例

django-template-partials快速上手:可复用命名partial的安装与第一个示例 django-template-partials快速上手可复用命名partial的安装与第一个示例【免费下载链接】django-template-partialsReusable named inline partials for the Django Template Language.项目地址: https://gitcode.com/gh_mirrors/dj/django-template-partials在 Django 开发中你是否经常遇到同一段模板代码被反复复制粘贴django-template-partials就是为解决这一痛点而生的开源库它让 Django 模板语言DTL支持可复用的命名 partial片段只需定义一次就能在同一模板乃至多个模板中随意引用。本文将带你从零开始完成 django-template-partials 的安装配置并写出你的第一个 partial 示例快速掌握 Django 模板片段复用的核心技巧。django-template-partials是什么模板片段复用的核心价值django-template-partials 的作者是 Django 核心团队成员 Carlton Gibson它的定位非常纯粹在单个模板文件内定义有名字的模板片段然后在任意位置多次复用。它的核心思想可以总结为一句话用{% partialdef %}定义片段用{% partial %}引用片段。相比传统的{% include %}需要单独建文件、传参数命名 partial 有以下明显优势✅ 片段与模板同文件无需额外维护小模板文件✅ 继承当前上下文循环中使用天然友好✅ 支持inline模式原地渲染不占位置✅ 可通过模板名#片段名语法被加载器和 include 直接引用它的标签实现位于 partials.py模板加载器集成在 loader.py阅读源码可以更深入理解其工作方式。django-template-partials安装步骤三步完成环境配置安装 django-template-partials 非常简单只需三步。第一步使用 pip 安装在项目虚拟环境中执行pip install django-template-partials第二步注册到 INSTALLED_APPS打开项目的settings.py把template_partials加入INSTALLED_APPSINSTALLED_APPS [ template_partials, # ... 其他应用 ]第三步确认模板配置默认情况下应用启动时会自动把template_partials.loader.Loader包装进 Django 模板加载器见 apps.py你无需手动修改 TEMPLATES 配置开箱即用。小提示如果希望手动控制加载器可以把INSTALLED_APPS中的值改为template_partials.apps.SimpleAppConfig再用wrap_loaders(django)自行配置。第一个示例用 partialdef 定义你的命名 partial安装完成后我们直接写第一个示例。假设你有一个模板example.html可参考项目测试模板 tests/templates/example.html{% load partials %} {% partialdef test-partial %} TEST-PARTIAL-CONTENT {% endpartialdef %}这里发生了两件事{% load partials %}加载模板标签库{% partialdef test-partial %}定义了一个名为test-partial的片段片段定义本身不会输出任何内容它只是登记了一段可复用的模板代码。在模板中复用 partial核心标签的使用技巧定义好 partial 之后就可以在模板任意位置多次引用了{% block main %} BEGINNING {% partial test-partial %} MIDDLE {% partial test-partial %} END {% endblock main %}渲染结果如下BEGINNING TEST-PARTIAL-CONTENT MIDDLE TEST-PARTIAL-CONTENT END一份定义多处复用这就是命名 partial 最直观的价值。在循环中它同样得心应手因为 partial 会继承当前渲染上下文{% for object in object_list %} {% partial test-partial %} {% endfor %}需要调整上下文时配合{% with %}标签即可。进阶用法inline模式与加载器集成inline 模式原地输出内容如果想保留原有内容的位置同时又能让片段可复用可以在定义时加上inline参数{% block main %} {% partialdef inline-partial inline %} CONTENT {% endpartialdef %} {% endblock main %}此时内容会原地渲染同时片段名也被注册之后依然可以通过{% partial inline-partial %}复用。通过加载器引用模板名#片段名这是 django-template-partials 的一大特色——partial 对视图层完全透明。在视图函数中可以直接写self.template_name example.html#test-partial也可以在模板中用 include 标签引用其他模板里的片段{% include example.html#test-partial %}更棒的是partial 支持跨模板协作父模板通过{% include %}引入子模板而子模板里定义的 partial 也能正常工作参见 tests/templates/parent.html 与 tests/templates/included.html 的测试用例。与Django 6.0内置partial的关系升级须知从 Django 6.0 开始官方已将partial和partialdef标签并入核心模板语言。因此新项目建议直接使用 Django 6.0 内置的模板 partial 功能旧项目升级时{% load partials %}可以移除标签会自动提示废弃警告老标签{% startpartial %}已废弃请改用{% partialdef %}即便如此对于仍使用 Django 4.2 / 5.x 的项目django-template-partials 依然是实现模板片段复用最轻量、最优雅的选择。小结快速上手的三个要点要点内容安装pip install django-template-partials 注册 INSTALLED_APPS定义{% partialdef 名称 %}内容{% endpartialdef %}复用{% partial 名称 %}或模板名#名称django-template-partials 用最少的代码解决了 Django 模板复用的大问题。现在打开你的模板文件定义一个 partial 试试吧你会发现模板代码瞬间清爽了很多【免费下载链接】django-template-partialsReusable named inline partials for the Django Template Language.项目地址: https://gitcode.com/gh_mirrors/dj/django-template-partials创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表