gpt4 book ai didi

python - Flask Jinja 路线

转载 作者:太空宇宙 更新时间:2023-11-03 14:08:08 24 4
gpt4 key购买 nike

使用 Jinja2 代码的 html 页面上允许在两个页面之间导航的 href 的正确语法是什么?第一个 html 模板有一个姓名列表,而另一个则有人员详细信息。

这是我用于显示名称列表的 listOfNames.html 页面的代码。

<ul>
{% for rownum, row in listNames.iterrows() %}
<li><a href="/listNames/person/{{row.personId}}">{{ row.firstName }} {{ row.lastName }}</a></li>
{% endfor %}
</ul>

这是获取/放置(正确使用术语?)listOfNames.html 上的名称的 server.py 代码。

@app.route('/listNames/<bo>/')
def listNames(bo):
listNames = getListNames(bo)
return render_template('listOfNames.html', listNames=listNames)

这是 personInformation.html 的代码。

<main role="main" class="col-sm-9 ml-sm-auto col-md-10 pt-3">
<h1>{{ person.firstName }}
{{ person.lastName }}
</h1>
<h2>Office:
{{ person.bo }}
</h2>
<h2>Courses Completed
</h2>
<ul>
{% for rownum, row in personCompleted.iterrows() %}
<li><a href="/courses/{{row.courseId}}">
{{row.courseTitle}}
</a></li>
{% endfor %}
</ul>
</main>

这是 server.py 代码。

    @app.route('/people/<person_id>')
def person(person_id):
person = getPersonOrganization(person_id)
personCompleted = getPersonCompleted(person_id)
return render_template('personInformation.html', person=person, personCompleted=personCompleted)

最佳答案

最好的方法是使用 Flask 中的 url_for() 函数。这是您的新 listOfPeople.html 模板,其中包含链接:

<ul>
{% for rownum, row in listNames.iterrows() %}
<li><a href="{{ url_for('person', person_id=row.personId) }}">{{ row.firstName }} {{ row.lastName }}</a></li>
{% endfor %}
</ul>

最好不要在模板中对 URL 进行硬编码,因为如果您需要重新组织它们,则需要更新所有地方的 URL。通过 url_for() Flask 会使用您在 app.route 装饰器中提供的信息为您生成 URL。

关于python - Flask Jinja 路线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48714251/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com