假设我需要为每个flask服务器执行before_request
如何在没有COPY-PASTE的情况下将以下代码片段共享到每台服务器
@app.before_request
def before_request(*args, **kwargs):
params = get_params()
if params.has_key('start_dt') and params.has_key('end_dt'):
g.mongo_query = Mongo.get_date_range_query(params)
else:
g.mongo_query = {}发布于 2015-07-03 16:47:07
您可以使用application factory来实现这一点。如果您像这样初始化flask应用程序:
from flask import Flask
import yourdb
def create_app(config_filename):
app = Flask(__name__)
app.config.from_pyfile(config_filename)
yourdb.init_app(app)
#add_extensions
#add_blueprints/views
# ... some other configuration ...
@app.before_request
def before_request(*args, **kwargs):
#Your code
return app在manage/run中,您可以
from somewhere import create_app
app = create_app(<your_config>)https://stackoverflow.com/questions/31200118
复制相似问题