Jinja继承模板的范围

时间:2020-04-19 19:56:53

标签: html flask jinja2

我正在使用后端的Flask和Jinja进行模板开发的网站。除其中之一外,每个页面都应具有与Open Graph Protocol相同的图像,在其中我要使用该页面特有的内容自定义url。

子模板(与所有其他模板一样)扩展了基数,但是只有该模板会为变量 ob_image_url 设置一个值,因此我需要检查该值是否存在以及是否设置默认值。

呈现子page.html模板时,我总是得到默认值,而不是该页面的默认值。我在哪里弄糟?

谢谢!

base.html

{% block og_image %}{% endblock %}
{% if not og_image_url %}
{% set og_image_url = url_for('static', filename='img/logo.png', _external=True) %}
{% endif %}
<meta property="og:image" content="{{og_image_url}}" />

page.html

{% extends "base.html" %}
{% block og_image %}
    {% if obj and obj.image %}
        {% set og_image_url = obj.image %}
    {% endif %}
{% endblock %}

0 个答案:

没有答案