如何将对象作为烧瓶中的url变量传递?

时间:2017-12-04 00:00:26

标签: python flask

我是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)

我能够将字符串,整数偶数路径作为参数传递。我找不到任何引用来查看传递对象是否可行。感谢您的回复!

谢谢, 迪帕克

2 个答案:

答案 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)

您也不应该查看函数应始终返回响应

这是你问题的解决方案之一,希望它会有所帮助