@app.route('/a', methods=['GET', 'POST'])
def a():
form = data(request.form)
if form.validate_on_submit():
job = Job()
job.title = form.title.data
return redirect(url_for('users.b'))
@app.route('/b', methods=['GET', 'POST'])
def b():
#access here the job.title previous defined
我知道我可以将参数传递给url_for,但不是我想要的。基本上访问以前定义的对象属性。我怎么能这样做?
答案 0 :(得分:0)
HTTP是无状态连接,意味着从/ a重定向到/ b的用户只能通过HTTP标头,cookie和URL参数传递信息。
要解决此特定问题,您需要将job.title
中的信息集保存到主机上的数据库中(即Using SQLAlchemy in Flask)。然后,您可以将新条目的数据库ID传递到/a
中的url_for参数,以便使用此参数集将其重定向到某个URL。 (即/b?user_id=123
)。请注意,您需要注意多个安全问题,因为用户可以自行更改ID。
有很多方法可以做到这一点。您可能希望使用Flask-WTF addon为您处理部分内容。
Here's some snippets处理Flask中的会话。