[英]Python/Flask For Loop ( nested List) in Bootstrap Tab
我目前正面臨一個涉及到選項卡列表中的字典的問題。 字典中鍵“Schnitt_SchnittVF”的值表示選項卡名稱。
我找到了一些例子,但並沒有真正幫助我讓這件事發揮作用。
下面我從 html 文件和嵌套字典的示例列表中發布了我的模板代碼。
這是 HTML/Jinja 片段
<div class="col-xl-4 col-lg-12 task-detail-left">
<div class="card">
<div class="card-header">
<h4>Schnittstellen von {{ rawdataCust[0]['CustMain_Kundenname_Intern'] }} <a href="/index" style="float: right;" class="btn btn-primary btn-sm" role="button">Bearbeiten</a></h4>
</div>
<div>
<ul class="nav nav-tabs" id="myTab" role="tablist">
{% for row in rawdataSchnitt %}
{% set schnittVF = row['Schnitt_SchnittVF']|string %}
{% set schnitTabName = row['Schnitt_SchnittVF'] ~ "-tab"|string %}
{% set schnittLink = '#' ~ row['Schnitt_SchnittVF']|string %}
<li class="nav-item">
<a class="nav-link active text-uppercase" id="{{schnittVF}}-tab" data-toggle="tab" href="{{ schnittLink }}" role="tab" aria-controls="{{ schnittVF }}" aria-selected="true">{{ schnittVF }}</a>
</li>
{% endfor %}
</ul>
{% for row in rawdataSchnitt %}
{% set schnittVF = row['Schnitt_SchnittVF']|string %}
{% set schnitTabName = row['Schnitt_SchnittVF'] ~ "-tab"|string %}
<div class="tab-content" id="{{schnitTabName}}">
<div class="tab-pane fade show active" id="{{ schnittVF }}" role="tabpanel" aria-labelledby="{{schnittVF}}-tab">
<p class="mb-0">
{{row["Schnitt_AGSIntern"]}}
</p>
<p>
{{row["Schnitt_GVVName"]}}
</p>
<p>
{{row["Schnitt_SchnittVF"]}}
</p>
<p>
{{row["Schnitt_SchnittWerk"]}}
</p>
<p>
{{row["Schnitt_UserExit"]}}
</p>
<p>
{{row["Schnitt_gueltigAb"]}}
</p>
<p>
{{row["Schnitt_gueltigBis"]}}
</p>
</div>
</div>
{% endfor %}
</div>
</div>
</div>
這是帶有嵌套字典的列表的示例:
[ { "Schnitt_AGSIntern": "Some_NUMBER", "Schnitt_GVVName": null, "Schnitt_Kundenname_Intern": "Some_NAME", "Schnitt_Mahnst": null, "Schnitt_Mig2Vf": null, "Schnitt_ModulREFX": null, "Schnitt_ModulSoJuHKR": "nein", "Schnitt_SchnittBemerkung": null, "Schnitt_SchnittID": 847, "Schnitt_SchnittMand": "650", "Schnitt_SchnittRueck": "nein", "Schnitt_SchnittSystem": "Production_SAP", "Schnitt_SchnittVF": "NOT_SAP", "Schnitt_SchnittWerk": null, "Schnitt_UserExit": null, "Schnitt_gueltigAb": "02-Jan-00", "Schnitt_gueltigBis": null }, { "Schnitt_AGSIntern": "Some_NUMBER", "Schnitt_GVVName": null, "Schnitt_Kundenname_Intern": "Some_NAME", "Schnitt_Mahnst": null, "Schnitt_Mig2Vf": null, "Schnitt_ModulREFX": null, "Schnitt_ModulSoJuHKR": "nein", "Schnitt_SchnittBemerkung": null, "Schnitt_SchnittID": 848, "Schnitt_SchnittMand": "650", "Schnitt_SchnittRueck": "nein", "Schnitt_SchnittSystem": "Test_SAP", "Schnitt_SchnittVF": "NOT_SAP", "Schnitt_SchnittWerk": null, "Schnitt_UserExit": null, "Schnitt_gueltigAb": "02-Jan-00", "Schnitt_gueltigBis": null }, { "Schnitt_AGSIntern": "Some_NUMBER", "Schnitt_GVVName": null, "Schnitt_Kundenname_Intern": "Some_NAME", "Schnitt_Mahnst": "2", "Schnitt_Mig2Vf": null, "Schnitt_ModulREFX": "nein", "Schnitt_ModulSoJuHKR": "ja", "Schnitt_SchnittBemerkung": null, "Schnitt_SchnittID": 849, "Schnitt_SchnittMand": "650", "Schnitt_SchnittRueck": "ja", "Schnitt_SchnittSystem": "Production_SAP", "Schnitt_SchnittVF": "SAP", "Schnitt_SchnittWerk": null, "Schnitt_UserExit": null, "Schnitt_gueltigAb": "01-Jan-07", "Schnitt_gueltigBis": null }, { "Schnitt_AGSIntern": "Some_NUMBER", "Schnitt_GVVName": null, "Schnitt_Kundenname_Intern": "Some_NAME", "Schnitt_Mahnst": "2", "Schnitt_Mig2Vf": null, "Schnitt_ModulREFX": "nein", "Schnitt_ModulSoJuHKR": "ja", "Schnitt_SchnittBemerkung": null, "Schnitt_SchnittID": 850, "Schnitt_SchnittMand": "650", "Schnitt_SchnittRueck": "ja", "Schnitt_SchnittSystem": "Test_SAP", "Schnitt_SchnittVF": "SAP", "Schnitt_SchnittWerk": null, "Schnitt_UserExit": null, "Schnitt_gueltigAb": "01-Jan-07", "Schnitt_gueltigBis": null } ]
這是為這條路線截取的 routes.py :
@blueprint.route('/cstdetail/<cstAGS>') @login_required def cstDetails(cstAGS): urlSchnitt = 'http://someServer:5000/cstSchnitt' + '/' + cstAGS try: uResponseSchnitt = requests.get(urlSchnitt) except requests.ConnectionError: return "Connection Error" JresponseSchnitt = uResponseSchnitt.text rawdataSchnitt = json.loads(JresponseSchnitt) #print(rawdata) return render_template('customer-detail.html', rawdataSchnitt =rawdataSchnitt)
有人可以幫我解決這個問題,因為我剛剛迷失了這個。 根據我的理解,它應該可以工作,但我可能只是愚蠢的地獄......所以提前謝謝:)。
太長
首先,您沒有使用下面的選項卡名稱代碼。 我認為您應該刪除該代碼,因為在每個“for”步驟中,(tabName)代碼一次又一次地聲明。
<ul class="nav nav-tabs" id="myTab" role="tablist">
{% for row in rawdataSchnitt %}
{% set schnittVF = row['Schnitt_SchnittVF']|string %}
{% set schnitTabName = row['Schnitt_SchnittVF'] ~ "-tab"|string %}
{% set schnittLink = '#' ~ row['Schnitt_SchnittVF']|string %}
<li class="nav-item">
<a class="nav-link active text-uppercase" id="{{schnittVF}}-tab" data-toggle="tab" href="{{ schnittLink }}" role="tab" aria-controls="{{ schnittVF }}" aria-selected="true">{{ schnittVF }}</a>
</li>
{% endfor %}
</ul>
我認為你應該在那里解釋你的變量類型(像這樣 =>: <int:number>
):
@blueprint.route('/cstdetail/<cstAGS>')
如果您聲明名為 xy 的列表:
[
{
"Schnitt_AGSIntern": "Some_NUMBER",
"Schnitt_GVVName": 1,
"Schnitt_Kundenname_Intern": "Some_NAME",
"Schnitt_Mahnst": 1,
"Schnitt_Mig2Vf": 1,
"Schnitt_ModulREFX": 1,
"Schnitt_ModulSoJuHKR": "nein",
"Schnitt_SchnittBemerkung": 1,
"Schnitt_SchnittID": 847,
"Schnitt_SchnittMand": "650",
"Schnitt_SchnittRueck": "nein",
"Schnitt_SchnittSystem": "Production_SAP",
"Schnitt_SchnittVF": "NOT_SAP",
"Schnitt_SchnittWerk": 1,
"Schnitt_UserExit": 1,
"Schnitt_gueltigAb": "02-Jan-00",
"Schnitt_gueltigBis": 1
},
{
"Schnitt_AGSIntern": "Some_NUMBER",
"Schnitt_GVVName": 1,
"Schnitt_Kundenname_Intern": "Some_NAME",
"Schnitt_Mahnst": 1,
"Schnitt_Mig2Vf": 1,
"Schnitt_ModulREFX": 1,
"Schnitt_ModulSoJuHKR": "nein",
"Schnitt_SchnittBemerkung": 1,
"Schnitt_SchnittID": 848,
"Schnitt_SchnittMand": "650",
"Schnitt_SchnittRueck": "nein",
"Schnitt_SchnittSystem": "Test_SAP",
"Schnitt_SchnittVF": "NOT_SAP",
"Schnitt_SchnittWerk": 1,
"Schnitt_UserExit": 1,
"Schnitt_gueltigAb": "02-Jan-00",
"Schnitt_gueltigBis": 1
},
{
"Schnitt_AGSIntern": "Some_NUMBER",
"Schnitt_GVVName": 1,
"Schnitt_Kundenname_Intern": "Some_NAME",
"Schnitt_Mahnst": "2",
"Schnitt_Mig2Vf": 1,
"Schnitt_ModulREFX": "nein",
"Schnitt_ModulSoJuHKR": "ja",
"Schnitt_SchnittBemerkung": 1,
"Schnitt_SchnittID": 849,
"Schnitt_SchnittMand": "650",
"Schnitt_SchnittRueck": "ja",
"Schnitt_SchnittSystem": "Production_SAP",
"Schnitt_SchnittVF": "SAP",
"Schnitt_SchnittWerk": 1,
"Schnitt_UserExit": 1,
"Schnitt_gueltigAb": "01-Jan-07",
"Schnitt_gueltigBis": 1
},
{
"Schnitt_AGSIntern": "Some_NUMBER",
"Schnitt_GVVName": 1,
"Schnitt_Kundenname_Intern": "Some_NAME",
"Schnitt_Mahnst": "2",
"Schnitt_Mig2Vf": 1,
"Schnitt_ModulREFX": "nein",
"Schnitt_ModulSoJuHKR": "ja",
"Schnitt_SchnittBemerkung": 1,
"Schnitt_SchnittID": 850,
"Schnitt_SchnittMand": "650",
"Schnitt_SchnittRueck": "ja",
"Schnitt_SchnittSystem": "Test_SAP",
"Schnitt_SchnittVF": "SAP",
"Schnitt_SchnittWerk": 1,
"Schnitt_UserExit": 1,
"Schnitt_gueltigAb": "01-Jan-07",
"Schnitt_gueltigBis": 1
}
]
如果要獲取列表項和項值:
{% for i in xy %}
{% set item_key = i['Schnitt_AGSIntern'] %}
...
<p> item_key </>
{% endfor %}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.