我如何构建我的烧瓶项目,以便我的模型可以知道是否TESTING
启用(从而使用测试数据库),而无需让它们处理或了解应用程序上下文。
我正在将此开发为一个开源项目,因此来源可能会对此有所了解:https ://github.com/nficano/jotonce.com/blob/master/jotonce/messages/models.py#L33
我如何构建我的烧瓶项目,以便我的模型可以知道是否TESTING
启用(从而使用测试数据库),而无需让它们处理或了解应用程序上下文。
我正在将此开发为一个开源项目,因此来源可能会对此有所了解:https ://github.com/nficano/jotonce.com/blob/master/jotonce/messages/models.py#L33
我认为您遇到了这个问题,因为您没有为用户提供在运行时指定配置的方法。相反,managers.py会获取您的 settings.py 文件中指定的任何设置,而无需咨询最终用户可能指定的设置。
既然你有factory.py
,你可能会current_app
从 Flask 导入(假设你的 db 函数是在应用程序上下文中调用的)并在那里使用设置值。如果这对您来说是一个选项,Flask 对配置处理有一些很好的建议。
如果您在应用程序上下文之外运行它,我认为factory.py
当前的结构不会为您工作。您需要手动处理自己的配置。
您可以查看https://github.com/Robpol86/Flask-Large-Application-Example/blob/master/pypi_portal/application.py以获取使用具有不同配置值的应用程序工厂的大型烧瓶项目的示例出色地。
祝你好运,节日快乐!