blu*_*ank 3 python templates jinja2 flask
我正在尝试为Flask应用程序中的所有页面设置默认页面标题.
我想将其插入默认布局模板.我的设置中有一个站点名称.
<title>{{title}}</title}}
Run Code Online (Sandbox Code Playgroud)
问题是,我似乎无法将设置中的站点名称导入布局模板.
<title>{{settings.SETTING}}</title}}
Run Code Online (Sandbox Code Playgroud)
和类似的变化不起作用.
是否有捷径可寻; 我不想让我的控制器中的每个动作都设置标题,逻辑方式是从我的设置到模板.我现在没有看到任何方式,任何输入赞赏.
编辑:
我不想写一个扩展,我看到我的应用程序的另一部分是使用扩展来将变量拉入模板,但是写一个完整的扩展程序有点超出了我当时的投资时间.
编辑:
def page_title(title):
return settings.SITE_NAME
app.jinja_env.filters['page_title'] = page_title
Run Code Online (Sandbox Code Playgroud)
在模板中:
{{ title | page_title}}
Run Code Online (Sandbox Code Playgroud)
这是关闭的东西,我想用默认设置标题或覆盖,这是第一步有效
使用块:
<title>{% block title %}{{ settings.SETTING }}{% endblock %}</title>
Run Code Online (Sandbox Code Playgroud)
然后,如果要更改标题,则可以在继承自基本模板的模板中覆盖该块.
{% block title %}your custom title{% endblock %}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3107 次 |
| 最近记录: |