我是python和Flask的新手。我目前正在开发一个项目,我需要为不同的操作呈现不同的页面,但他们都需要访问同一个对象。
例如:
@app.route("/", methods =['GET','POST'])
def funtionA()
objs = somefunction() // returns an object list
render_template("/results/'+objs+'")
@app.route("/results/<objs>", methods =['GET','POST'])
def functionB(objs)
for obj in objs
print(objs[i].attr)
我能够将字符串,整数偶数路径作为参数传递。我找不到任何引用来查看传递对象是否可行。感谢您的回复!
谢谢, 迪帕克
答案 0 :(得分:1)
您可以使用全局应用程序。可以通过flask.g
http://flask.pocoo.org/docs/0.12/api/#application-globals
Flask为您提供了一个特殊对象,确保它只对活动请求有效,并为每个请求返回不同的值。
答案 1 :(得分:0)
看起来您需要的是使用flask url_for
@app.route("/", methods =['GET','POST'])
def funtionA()
objs = somefunction() // returns an object list
return redirect(url_for('app.functionB', objs=objs))
@app.route("/results/<objs>", methods =['GET','POST'])
def functionB(objs)
for obj in objs
print(objs[i].attr)
return "something {}".format(objs)
您也不应该查看函数应始终返回响应
这是你问题的解决方案之一,希望它会有所帮助