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