簡體   English   中英

如何在Jinja2的子模板中設置變量?

[英]How to set a variable in a child template in Jinja2?

這個問題被問過一次 ,但是沒有回答,所以我直接向它提問。

我正在嘗試在子模板中設置一個變量,以便它更改父模板呈現事物的方式。 在這個問題上,我給出一個實際的例子。

我的網站有2種模板。 一個顯示內容狹窄和全寬模板的模板。

(我刪除了所有復雜性,以便向您展示一個簡單的示例)

page.html中

{% extends "base.html" %}

{% block content %}
        <div id="pageContentContainer">
            <div class="row">
            {% if fullwidth %}
                <div class="col-12">fffff
                    {{super()}}
                </div>
            {% else %}
                <div class="col-9">
                    {{super()}}
                </div>
            {% endif %}
            </div>
        </div>
{% endblock %}  

頁面fullwidth.html

{% extends "page.html" %}

{% block content %}
    {% set fullwidth = true %}
    {{super()}}
{% endblock %}

這行不通。 父模板中的變量fullwidth不是True。

還有其他可行的方法嗎? 我不想在page-fullwidth.html重復page.html的內容。 (實際上,此文件更復雜。)

差不多了 這就是答案。 變量設置器必須在程序段之外

頁面fullwidth.html

{% extends "page.html" %}

{% set fullwidth = true %}

{% block content %}
    {{super()}}
{% endblock %}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM