【问题标题】:Render specific Jinja content blocks in main page upon button click单击按钮后在主页中呈现特定的 Jinja 内容块
【发布时间】:2021-07-22 00:24:37
【问题描述】:

大家好,您将在下面看到,我是 jinja 块以及如何管理它们的完全新手,非常感谢您的帮助

main.html

<html>
<head><head>
<body> 
<li>about us</li>
<li>Our services</li>
 <body>
</html>

想法是在主体点击的li上渲染一个jinja内容块:

例如,如果用户点击名为“关于我们”的 li,我想渲染名为“关于我们”的内容块,它扩展了这个基本模板

如果用户点击我们的服务,我想渲染名为“我们的服务”的内容块,它扩展了这个基本模板。

about us 块内容是一个 HTML 文件,如下所示: about-us.html

{% extends main.html %}
{% block aboutus %}
<p> ABOUT US INFORMATION</p> <!-- for example -->
{% endblock %} 

我们的服务块内容是一个 HTML 文件,如下所示: 我们的服务.html

{% extends main.html %}
{% block ourservices %}
<p> OUR SERVICES</p> <!-- for example -->
{% endblock %} 

最后,我想知道当我转到以下任何选项时是否可以更改我的页面的 URL:

from application import app
from flask import render_template, request, Flask
@app.route("/main.html")
def main():
return render_template("main.html", index=True)

所以我的想法是,如果我点击 about us,URL 将变为 main/about-us,并应呈现以下内容:

并且 URL 看起来像 main/about-us

<html>
<head><head>
<body> 
<p> About us</p>
 <body>
</html>

服务应该看起来像 main/services

<html>
<head><head>
<body> 
<p> OUR SERVICES</p>
 <body>
</html>

非常感谢您的帮助!!!!

【问题讨论】:

    标签: python templates flask jinja2


    【解决方案1】:

    我不清楚您是否打算让这些页面成为不同的页面或只是同一页面上的部分。

    如果同一页面上的部分,那么为什么不只呈现所有内容并隐藏您最初不需要的部分。当用户单击按钮时,您可以取消隐藏相关部分。

    【讨论】:

    • 听起来像是隐藏内容的好选择,但是,我还想根据主页中呈现的块内容更改 URL。我想知道这是否可能
    • 我想知道类似以下的解决方案是否是:stackoverflow.com/questions/40537752/…
    猜你喜欢
    • 2013-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-27
    相关资源
    最近更新 更多