高安全性的内容管理系统
一站式建站解决方案
高性能静态网站构建工具
精美的网站模板库
详细的模板开发指南
完整的API接口说明
直观的视频使用指南
常见问题解答集锦
最新产品动态与行业资讯
了解我们的故事
获取支持与合作
iris.Django模板引擎可以很简便的定义一些宏函数代码片段。宏代码片段相当于一个函数,它只能调用从参数传入的变量。类似于使用 include。不过 macro 有限定的作用域。如文章我们给文章列表的文章 item 使用macro:
iris.Django
macro
定义一个宏函数 {% macro archive_detail(archive) %} <li class="item"> <a href="/archive/{{archive.Id}}" class="link"> <h5 class="title">{{archive.Title}}</h5> </a> </li> {% endmacro %} 使用定义的宏函数 {% for item in archives %} {{ archive_detail(item) }} {% endfor %}
同时宏函数还可以保存到独立的文件中,然后通过 import 来嵌套进来。当一个文件中包含多个宏函数,可以使用,将隔开连续引入多个宏函数。还可以使用 as 来设置别名:
,
保存宏函数到 archive.helper
{% macro archive_detail(archive) %} <li class="item"> <a href="/archive/{{archive.Id}}" class="link"> <h5 class="title">{{archive.Title}}</h5> </a> </li> {% endmacro %} {% macro archive_detail2(archive) %} <li class="item"> <a href="/archive/{{archive.Id}}" class="link"> <h5 class="title">{{archive.Title}}</h5> </a> </li> {% endmacro %}
在 index.html 中引入:
用import引入: {% import "archive.helper" archive_detail, archive_detail2 as archive_detail_new, archive_detail as new_item %} 调用: {% for item in archives %} {{ archive_detail(item) }} {{ archive_detail_new(item) }} {{ new_item(item) }} {% endfor %}