我正在Flask上迈出第一步,为了它的乐趣,我创建了另一个模块,专注于与数据库相关的东西。所以我要说我有两个文件:
在DB.py中,我有一个标有装饰器@app.before_request
的函数。
但是,当我在Main.py中执行代码时,虽然我有:@app.before_request
,但是没有触发链接到DB.py中from DB import *
的函数。
另一方面,如果我将函数和装饰器添加到Main.py,那么它将起作用。
所以我的问题是:如果没有将@app.before_request
(和相应的函数)移动到Main.py,有没有办法让这个工作?
Flask社区非常友好地帮助像我这样的新手在他们的IRC频道,所以对于有这个问题的未来人来说,这是一个简单的解决方案:
将导入(数据库)移至应用程序定义之后 - app = ...(感谢rknol)
[20:01] xingke,如果只有少数几个,只需在db.py中定义一个函数,它将注册@before_request函数,如下所示:http://bpaste.net/show/143071/ - 导入init_db函数,然后在定义后在应用程序上运行它。