我的網站有共同的基本元素,我可以在一個頁面上多次重復使用這些元素。
在一個站點中,會有多個下拉選單,每個下拉選單都有一組不同的下拉選單。
目前,我使用render_template以下方式:
from flask import render_template
@app.route('/')
def index():
return render_template('LandingPage.html',
FileName='Hi.png', relatedlist=['NewUser',"OtherNewUser"])
我正在為我的選擇表單使用 bulma,如下所示:
<div class="select">
<select name="{{FileName|safe}}">
{% for val in relatedlist%}
<option href="#" class="dropdown-item">
{{val}}
</option>
{% endfor %}
</select>
</div>
現在,我的主頁看起來像:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
{% include "LandingPage.html" %}
</body>
</html>
如果我想在 中多次重復使用此選擇串列LandingPage.html,我將如何做到這一點,Filename并且relatedlist是從我的 python 代碼推送的一對一映射?
謝謝!
uj5u.com熱心網友回復:
我認為您應該為 bulma創建一個包含宏的檔案。
對于您的下拉串列,它看起來像這樣。
{# macros/bulma.html -#}
{% macro select(name, values) -%}
{% set cls = kwargs.pop('class_') or kwargs.pop('class') -%}
<div class="select{{(' ' cls) if cls else ''}}"{{kwargs|xmlattr}}>
<select name="{{name}}">
{% for v in values -%}
<option value="{{v}}">{{v}}</option>
{% endfor -%}
</select>
</div>
{%- endmacro %}
然后,您可以將此檔案匯入模板并將宏重用于各種下拉選單。
{% import 'macros/bulma.html' as bulma -%}
{% for i in range(10) -%}
{{ bulma.select(filename, related_list, class_='is-primary') }}
{% endfor -%}
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/443960.html
