SuperAPI AI 工具集

django-templates

编程与开发

查看项目

更新于 10-16 01:27

技能介绍

用途:面向Django模板开发,提供模板组织、继承、局部片段、组件与自定义标签过滤器的约定与模式,适合在编写模板、创建可复用组件或整理模板结构时使用。

主要能力与用法: 模板组织采用目录结构:templates/ 下放 base.html(根模板),partials/ 放可复用片段(导航、页脚、分页),components/ 放UI组件(按钮、卡片、弹窗),并按 app 分目录放应用模板。命名约定:完整页面用 list.html、detail.html;HTMX 局部模板用下划线前缀如 _list.html、_form.html;共享片段为 partials/_navbar.html;组件为 components/_button.html。

模板继承建议三级结构:base.html(站点级骨架、导航、页脚)、可选的分区模板、页面模板。base.html 中定义标准块:title、content、extra_css、extra_js。

局部片段用于重复内容、HTMX 响应替换及避免重复;组件是自带行为的UI元素,可通过 {% include "components/_button.html" with text="Submit" variant="primary" %} 传上下文,用 only 隔离上下文。

自定义标签:需要返回字符串值时用 simple_tag(如活动链接类名),需要渲染模板片段时用 inclusion_tag(如分页组件、用户头像)。自定义过滤器用于转换单个值(如取姓名首字母、算百分比),可与其他过滤器链式组合。位置:apps/<app>/templatetags/<app>_tags.py,需在 templatetags 目录创建 init.py。

反模式建议:复杂条件逻辑移到视图或模型方法;用 user.can_moderate 而非判断 role;使用 {% url 'posts:detail' pk=post.pk %} 而非硬编码路径;使用 CSS 类而非内联样式;可能为空的循环始终加 {% empty %} 分支。该技能可与其他技能配合,如 htmx-patterns、django-forms、pytest-django-patterns。限制:资料未提供收费、价格、平台支持与具体使用步骤,均暂未提供。