gpt4 book ai didi

python - 如何使用flask将内容加载到div元素中

转载 作者:行者123 更新时间:2023-12-03 08:41:52 30 4
gpt4 key购买 nike

我想用 python 函数的结果填充/更新 index.html 中的 div 区域,但我不知道该怎么做。我知道还有其他几个具有类似主题的问题,但我无法成功解决它们,因为它们太具体了。我正在为此抓狂。
会有这么好的人来指导我吗?
这是 main.py 中的一个函数:

@app.route('/')

def index():
return render_template('index.html')

@app.route('/stat/')

def stat():

a = 2
b = 10

return(str(a) + ' is not ' + str(b))

这是index.html:

<body>

<form action="/stat/">

<button type="submit" id="btn1" class="btn btn-primary btn-sm">check stat</button>

</form>

<div id="stat_content"></div>

</body>

最佳答案

正如 @S3DEV 指出的,您需要通过附加参数将字符串传递给模板。例如,我们可能会这样做:

@app.route('/stat/', methods=['GET', 'POST']) # EDIT
def stat():
a = 2
b = 10
text = f"{a} is not equal to {b}"
return render_template("index.html", text=text)

在上面的代码中,我们将 text 设置为要传递给模板的字符串。在模板中,我们将能够以 text 形式访问此字符串变量。

现在,当渲染 index.html 时,它将查找从 Flask 应用程序传入的 text 变量。这是由Jinja 2 负责的。 ,这是 Flask 使用的渲染引擎。

<div id="stat_content">
{% if text %}
<h2>No text to show</h2>
{% else %}
<h2>{{ text }}</h2>
{% endif %}
</div>

使用带有大括号的 Jinja 2 语法,我们首先检查 text 变量是否存在;如果它不存在,我们将呈现消息“没有可显示的文本”。当我们第一次路由到 "/" 或 Flask 应用程序的默认主路由时,就会发生这种情况。

一旦用户填写了表单,他们将被重定向到“/stat/”,此时我们将生成文本并传递它通过 render_template("index.html", text=text) 函数调用返回到 index.html。然后,当 Jinja 2 渲染 index.html 时,它将看到从 Flask 应用传递过来的 text 并显示该消息,即 2 不等于 10。

关于python - 如何使用flask将内容加载到div元素中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62516009/

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