5
我有一个简单的烧瓶应用程序,我想使用@ app.before_request,但不知何故它不起作用!我相信我对此没有正确思考! 显然这会在使用类似被称为:如何调用@ app.before_request
return redirect(url_for('index'))
,但我需要它来呼吁:
return render_template('index.html')
任何人可以帮助?
我有一个简单的烧瓶应用程序,我想使用@ app.before_request,但不知何故它不起作用!我相信我对此没有正确思考! 显然这会在使用类似被称为:如何调用@ app.before_request
return redirect(url_for('index'))
,但我需要它来呼吁:
return render_template('index.html')
任何人可以帮助?
如果你会给一些代码,也许它会更好地理解你的问题,但如果我理解它的权利,你想在请求之前渲染模板?
before_request
用于调用某个函数或在请求之前执行一些操作。所以基本上这是为了准备你的应用程序来处理这个请求。例如:初始化数据库连接并将其放入g
对象中以供以后访问。 before_request用法
实施例(如初始化DB例如)为:
@app.before_request
def before_request():
g.db = connect_db()
如果使用它作为@app.before_request
所以它是装饰器。更多的东西可以在Flask docs
但另一件事是为什么你要render_template
之前请求?我认为你应该在视图中渲染模板而不是在这个地方。您让请求到达您的应用程序,您的视图,然后在那里呈现模板。
您好,Ignas,我真的想在请求后渲染模板!我希望'return render_template()'将'@ app.before_request'作为'return redirect()'来处理!我现在解决这个问题(使用重定向),但仍然想知道这是否仍然可行! – Amin