Jinja中如何针对特定页面渲染不同的block内容?
实现方法
- 首先调整
layout.html的页脚结构,将原本固定的
<!-- layout.html 中的代码 --> {% block footer %} <footer> <!-- 原有默认页脚的全部内容 --> <p>© 2024 站点版权所有</p> </footer> {% endblock %}
- 其他继承了
layout.html的页面不需要做任何修改,仍然会自动加载默认页脚。 - 仅需要在用户个人资料页的模板中,重写
footer块即可加载自定义页脚:
<!-- 用户个人资料页模板的代码 --> {% extends "layout.html" %} <!-- 页面其他内容的代码 --> {% block footer %} <footer> <!-- 个人资料页专属的页脚内容 --> <p>用户主页专属提示 | 最后更新于2024年6月</p> </footer> {% endblock %}
如果需要在默认页脚的基础上补充内容,不需要完全重写,在重写的块中调用
{{ super() }}即可引入默认页脚的全部内容,再新增自定义内容即可:
{% block footer %} {{ super() }} <p>个人资料页附加的页脚内容</p> {% endblock %}
内容的提问来源于stack exchange,提问作者Kley Halisson
相关产品推荐
相关产品推荐

