Python 如何在请求前致电@app
我有一个简单的烧瓶应用程序,我想使用@app.before\u请求,但不知何故它不起作用!我肯定我没有正确地思考这个问题! 显然,它将被要求使用以下内容:Python 如何在请求前致电@app,python,redirect,flask,jinja2,Python,Redirect,Flask,Jinja2,我有一个简单的烧瓶应用程序,我想使用@app.before\u请求,但不知何故它不起作用!我肯定我没有正确地思考这个问题! 显然,它将被要求使用以下内容: return redirect(url_for('index')) 但我需要它被要求: return render_template('index.html') 有人能帮忙吗?如果您能提供一些代码,也许理解您的问题会更好,但如果我理解正确,您希望在请求之前呈现模板 before_request用于在请求之前调用某些函数或执行某些操作。因此
return redirect(url_for('index'))
但我需要它被要求:
return render_template('index.html')
有人能帮忙吗?如果您能提供一些代码,也许理解您的问题会更好,但如果我理解正确,您希望在请求之前呈现模板
before_request
用于在请求之前调用某些函数或执行某些操作。因此,基本上,它是为了准备你的应用程序来处理随之而来的请求。示例:初始化数据库连接并将其放入g
对象中以供以后访问
before_请求使用的示例(例如初始化数据库)为:
如果您在请求之前将其用作@app.
,那么它就是decorator。在这本书中还可以找到更多的东西
但另一件事是,为什么您要在请求之前呈现模板?我认为您应该在视图中而不是在这个地方渲染模板。你让请求到达你的应用程序、视图,然后在那里渲染模板。嗨,伊格纳斯,我真的想在请求之后渲染模板!我想让
返回render\u template()
在请求之前触发@app。就像返回重定向()
一样!我现在已经解决了这个问题(使用重定向),但仍然想知道这是否仍然可行!
@app.before_request
def before_request():
g.db = connect_db()