如何解决瓶钩before_request未调用
我无法使用@ _local_bottle.hook('before_request')。
在单个文件中,我从同一文件运行Bottle,@ _ local_bottle.hook('before_request')起作用:
_local_bottle = bottle.Bottle()
def get_bottle():
return _local_bottle
@_local_bottle.hook('before_request')
def connect_test():
print("test _local_bottle.hook")
但是当我从start.py启动bottle时,我在其中加载了所有子模块并合并它们,所以没有调用该钩子。
def start_server(debug=False):
app,logger = setup_app(debug)
logger.debug("Importing applications.")
import ps_web_apps.load_modules
for module,ps_bottle in ps_web_apps.load_modules.get_bottle_list():
logger.debug("Importing application '%s'.",module)
app.merge(ps_bottle)
app = SessionMiddleware(app,session_opts)
logger.debug("Starting server.")
sys.argv[1:] = ["--workers",num_of_workers,"--timeout",gunicorn_timeout]
if enable_gevent:
logger.debug("Started as asyc gevent server.")
bottle.run(app=app,port=8081,server='gunicorn',worker_class='gevent',debug=debug,quiet=not debug)
else:
bottle.run(app=app,quiet=not debug)
奇怪的是,其他装饰器(例如“ get”)也可以在其旁边工作:
@_local_bottle.hook('before_request')
def connect_test():
print("test _local_bottle.hook")
@_local_bottle.get('/portal')
def portal():
logging.debug("log test")
为什么其他装饰器可以工作,而忽略@ _local_bottle.hook('before_request')?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。