如何使用create_app在flask应用程序中向uwsgi提供不同的配置设置?

其锁定

在我的Flask应用程序中,一旦部署了应用程序,config.py我将拥有LocalConfig并且ProdConfig后者将用于生产中。

现在,我使用的uWsgi服务应用Nginx,这里的myapp.wsgi我已经建立。

from myapp import create_app
from myapp.config import ProdConfig

app = create_app(config=ProdConfig)

并且其中之一app.py create_app定义为:

def create_app(config=None, app_name=None, blueprints=None):

    # some code
    app = Flask(app_name, instance_path=INSTANCE_FOLDER_PATH, instance_relative_config=True)
    configure_app(app, config)
    # some other code

    return app

def configure_app(app, config=None):
    """Different ways of configurations."""

    app.config.from_object(LocalConfig)
    app.config.from_pyfile('production.cfg', silent=True)

    if config:
        app.config.from_object(config)

我想知道uWSGI吗?uWSGI是否能够ProdConfig成功应用

还是使用环境变量来区分不同的配置设置更好?喜欢if os.environ.get('PROD', True): #do something吗?

哪种方法更好?Flask的create_app()一个还是env变量的一个?还有其他合适的方法吗?

贾斯坦

常用的方法是将配置存储在字典中。

class Config:
     ALL_CAPS_CONFIG = 'SOME VALUE'

class DevConfig(Config):
    pass

class TestConfig(Config):
    pass

class ProdConfig(Config):
    pass

configs = {
  'dev'  : DevConfig,
  'test' : TestConfig,
  'prod' : ProdConfig,
  'default' : ProdConfig
  }

然后在实际创建应用的地方,您将执行以下操作:

from config import configs
import os

evn = os.environ.get('MY_FLASK_APP_ENV', 'default')

create_app(config=configs[evn])

这样,您可以通过更改Shell中的变量轻松地在环境之间切换。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用create_app在flask应用程序中向uwsgi提供不同的配置设置?

来自分类Dev

使用 Flask Factory 应用程序 create_app 配置电子邮件令牌

来自分类Dev

如何导入从create_app()创建的应用程序实例

来自分类Dev

将Flask应用程序部署到heroku会导致create_app()出现500错误

来自分类Dev

如何诊断仅在使用uWSGI运行应用程序时出现的Python Flask应用程序中的问题?

来自分类Dev

如何对不同的构建配置使用不同的应用程序设置?

来自分类Dev

如何对不同的构建配置使用不同的应用程序设置?

来自分类Dev

如何对不同的构建配置使用不同的应用程序设置?

来自分类Dev

WorkManager:如何在同一应用程序中设置不同的WorkManager配置

来自分类Dev

如何使用unix套接字加载2个flask应用程序以为nginx / uwsgi提供2个子域?

来自分类Dev

如何使用unix套接字加载2个flask应用程序以为nginx / uwsgi提供2个子域?

来自分类Dev

如何使用风味来设置应用程序的不同端点?

来自分类Dev

在使用uWSGI进行部署时,如何通过getpass输入输入到Flask应用程序?

来自分类Dev

如何使用Azure TFS在CI / CD管道中配置应用程序设置

来自分类Dev

如何从azure应用程序设置或azure功能应用程序的文件中使用Serilog配置?

来自分类Dev

如何向在外壳程序脚本中调用的Java应用程序提供用户输入?

来自分类Dev

在Flask应用程序中如何使用Postgre的HSTORE类型?

来自分类Dev

使用flask-sqlalchemy 的create_app 模式

来自分类Dev

如何使用App Store设置配置文件为应用程序退出以添加Beta报告有效密钥?

来自分类Dev

Dockerized Nginx上游错误通过Flask / uWSGI应用程序提供了单独的Docker容器

来自分类Dev

如何向 android/ios 应用程序提供 symfony 内容?

来自分类Dev

如果使用应用程序工厂模式,如何在gunicorn中运行flask应用程序?

来自分类Dev

尝试通过uwsg运行flask应用程序时无法从uwsgi加载配置

来自分类Dev

使用 mongoDB 在 Flask 应用程序中向 JSON 添加转义引号

来自分类Dev

如何使用uwsgi挂载Django应用程序?

来自分类Dev

如何为ASP.NET Core 3.1配置Azure App Service应用程序设置?

来自分类Dev

对象不包含数据,仅当与uWSGI FLASK应用程序中的apscheduler一起使用时

来自分类Dev

如何在共享代码的同时使用每个应用程序的不同配置来管理多重反应本机应用程序?

来自分类Dev

Tomcat如何在同一servlet容器中为不同的应用程序提供服务?

Related 相关文章

  1. 1

    如何使用create_app在flask应用程序中向uwsgi提供不同的配置设置?

  2. 2

    使用 Flask Factory 应用程序 create_app 配置电子邮件令牌

  3. 3

    如何导入从create_app()创建的应用程序实例

  4. 4

    将Flask应用程序部署到heroku会导致create_app()出现500错误

  5. 5

    如何诊断仅在使用uWSGI运行应用程序时出现的Python Flask应用程序中的问题?

  6. 6

    如何对不同的构建配置使用不同的应用程序设置?

  7. 7

    如何对不同的构建配置使用不同的应用程序设置?

  8. 8

    如何对不同的构建配置使用不同的应用程序设置?

  9. 9

    WorkManager:如何在同一应用程序中设置不同的WorkManager配置

  10. 10

    如何使用unix套接字加载2个flask应用程序以为nginx / uwsgi提供2个子域?

  11. 11

    如何使用unix套接字加载2个flask应用程序以为nginx / uwsgi提供2个子域?

  12. 12

    如何使用风味来设置应用程序的不同端点?

  13. 13

    在使用uWSGI进行部署时,如何通过getpass输入输入到Flask应用程序?

  14. 14

    如何使用Azure TFS在CI / CD管道中配置应用程序设置

  15. 15

    如何从azure应用程序设置或azure功能应用程序的文件中使用Serilog配置?

  16. 16

    如何向在外壳程序脚本中调用的Java应用程序提供用户输入?

  17. 17

    在Flask应用程序中如何使用Postgre的HSTORE类型?

  18. 18

    使用flask-sqlalchemy 的create_app 模式

  19. 19

    如何使用App Store设置配置文件为应用程序退出以添加Beta报告有效密钥?

  20. 20

    Dockerized Nginx上游错误通过Flask / uWSGI应用程序提供了单独的Docker容器

  21. 21

    如何向 android/ios 应用程序提供 symfony 内容?

  22. 22

    如果使用应用程序工厂模式,如何在gunicorn中运行flask应用程序?

  23. 23

    尝试通过uwsg运行flask应用程序时无法从uwsgi加载配置

  24. 24

    使用 mongoDB 在 Flask 应用程序中向 JSON 添加转义引号

  25. 25

    如何使用uwsgi挂载Django应用程序?

  26. 26

    如何为ASP.NET Core 3.1配置Azure App Service应用程序设置?

  27. 27

    对象不包含数据,仅当与uWSGI FLASK应用程序中的apscheduler一起使用时

  28. 28

    如何在共享代码的同时使用每个应用程序的不同配置来管理多重反应本机应用程序?

  29. 29

    Tomcat如何在同一servlet容器中为不同的应用程序提供服务?

热门标签

归档