我有@app.route('/<data_select>')
,可以接受'http://0.0.0.0:5000/valid_data' or 'http://0.0.0.0:5000/invalid_data'
之类的网址。我有一个@app.route('/update_data', methods=['GET','POST'])
来处理get和set请求。
我想通过重定向调用将一些字符串从update_data-&gt; post请求传递给select_data-get请求。我在这里放了我的代码
@app.route('/<data_select>')
def select_data(data_select):
form = data()
return render_template('data.html', form= form)
@app.route('/update_data', methods=['GET','POST'])
def update_data():
form = update_data()
if request.method == 'GET':
return render_template('update_data.html',form=form)
if request.method == 'POST':
messages = "want to pass this string to select_data()"
return redirect(url_for('valid_data', messages = messages))
请给我一些想法
答案 0 :(得分:0)
要在烧瓶中显示消息,请使用flash
。
文档中的示例比我更好地解释了它:
from flask import Flask, flash, redirect, render_template, \
request, url_for
app = Flask(__name__)
app.secret_key = 'some_secret'
@app.route('/')
def index():
return render_template('index.html')
@app.route('/login', methods=['GET', 'POST'])
def login():
error = None
if request.method == 'POST':
if request.form['username'] != 'admin' or \
request.form['password'] != 'secret':
error = 'Invalid credentials'
else:
flash('You were successfully logged in')
return redirect(url_for('index'))
return render_template('login.html', error=error)
if __name__ == "__main__":
app.run()
确保设置密钥(app.secret_key
),因为闪存使用会话,并且需要密钥来加密cookie。
在模板中:
<!doctype html>
<title>My Application</title>
{% with messages = get_flashed_messages() %}
{% if messages %}
<ul class=flashes>
{% for message in messages %}
<li>{{ message }}</li>
{% endfor %}
</ul>
{% endif %}
{% endwith %}
{% block body %}{% endblock %}