如何从root函数中获取参数

时间:2014-12-02 15:48:31

标签: python flask

我有以下代码:

from flask import Flask

app = Flask(__name__)

@app.route("/<param1>", methods=["GET"])
def func1(param1):
    return func2()

def func2():
    return "mystring"

if __name__ == "__main__":
    app.run(host="0.0.0.0", port=8080, debug=True)

问题是如何将param1传递给func2,而不是作为函数参数传递。在我的项目中func2()在另一个模块中,我的URL中有很多参数。我是否可以param1func2访问flask.request,例如通过func2或类似的内容?

是的我知道我可以将所有必要的参数放入字典并将此字典传递给{{1}}和另一个函数,但我想知道是否有其他方法可以访问url-parameters。

1 个答案:

答案 0 :(得分:1)

Flask提供了一个变量g,它在请求的生命周期内存在。根据您的具体情况,这可能是适当的用途。

要使用它,请将其导入:

from flask import g

在你的例子中:

@app.route("/<param1>", methods=["GET"])
def func1(param1):
    g.info = "Hello world"
    return func2()

def func2():
    if g.info == "Hello world":
        return "Hello world"
    return "mystring"

注意:此变量可自动用于模板,这可能是不可取的。