Область действия Jinja по унаследованному шаблону - PullRequest
0 голосов
/ 19 апреля 2020

Я занимаюсь разработкой веб-сайта, используя Flask на сервере и Jinja для шаблонов. На каждой странице должно быть одно и то же изображение как часть Open Graph Protocol , за исключением одной из них, где я хочу настроить URL-адрес, свойственный этой странице.

Дочерний шаблон (как и все другие шаблоны) расширяет базу, но только этот будет иметь значение, установленное для переменной ob_image_url , поэтому мне нужно проверить, существует ли это значение, и если нет, установить значение по умолчанию.

Когда отображается шаблон дочерней страницы. html, я всегда получаю значение по умолчанию, а не значение для этой страницы. Где я все испортил?

Спасибо!

база. 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}}" />

стр. html

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