解析所有块后在扩展模板中调用方法

2024-04-23 22:17:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两种方法,set_page_titleget_page_titleset_page_titlechild.html调用,它扩展了base.html,然后调用get_page_title

set_page_title向全局g对象添加一个属性,然后get_page_title从中读取

我希望get_page_title被最后调用,因为它在装饰视图中,但实际上它是第一个被调用的。在所有子模板都被完全解析之前,我是否可以延迟get_page_title的执行


Tags: 对象方法视图模板childbaseget属性
1条回答
网友
1楼 · 发布于 2024-04-23 22:17:01

听起来您正试图复制Jinja的block中已经提供的功能:

{# base.html #}
<!DOCTYPE html>
<head>
<title>{% block title %}Default Title{% endblock %} - Site Name</title>
</head>
<body>
<main>
<h1>{{ self.title() }}</h1>
</main>
</body>
</html>

然后,在子模板中,只需覆盖块:

{# child.html #}
{% block title %}Child Title{% endblock %}

相关问题 更多 >