如何在不使用AJAX的情况下更新烧瓶模板变量



我有一个烧瓶模板,我需要更新模板中的一个变量(render_template('file.html', somevar='hello'(。当somevar更改时,我希望它也在模板中更改。你会怎么做?

main.py:

from flask import Flask, render_template
app = Flask('app')
somevar = 'somestring'
@app.route('/')
def hello_world():
return render_template('index.html', somevar=somevar)
@app.route('/alter')
def alter():
global somevar
somevar = 'anotherstring'
return 'completed'
app.run(host='0.0.0.0', port=8080)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
{{ somevar }}
</body>
</html>

/alter端点被命中时,我希望index.html在不重新加载的情况下进行更新。我已经尝试过AJAX,我想知道是否有任何方法可以在没有它的情况下做到这一点

没有Ajax,这是不可能的。

但是你也可以返回更新后的HTML:吗

from flask import Flask, render_template
app = Flask('app')
somevar = 'somestring'
@app.route('/')
def hello_world():
return render_template('index.html', somevar=somevar)
@app.route('/alter')
def alter():
global somevar
somevar = 'anotherstring'
return render_template('index.html', somevar=somevar)
app.run(host='0.0.0.0', port=8080)

最新更新