烧瓶生产开发模式

2024-03-09

我用flask开发了一个应用程序,我想将其发布用于生产,但我不知道如何在生产和开发环境(数据库和代码)之间进行分离,您有文档来帮助我或代码吗? 我在config.py文件中指定了两个环境但我不知道如何使用。

class DevelopmentConfig(Config):
    """
    Development configurations
    """
    DEBUG = True
    SQLALCHEMY_ECHO = True
    ASSETS_DEBUG = True
    DATABASE = 'teamprojet_db'
    print('THIS APP IS IN DEBUG MODE. YOU SHOULD NOT SEE THIS IN PRODUCTION.')


class ProductionConfig(Config):
    """
    Production configurations
    """
    DEBUG = False
    DATABASE = 'teamprojet_prod_db'

使用的一种约定是在启动应用程序之前指定环境变量。

例如

$ ENV=prod; python run.py

在您的应用程序中,您检查该环境变量的值以确定要使用哪个配置。在你的情况下:

run.py

import os
if os.environ['ENV'] == 'prod':
    config = ProductionConfig()
else:
    config = DevelopmentConfig()

还值得注意的是,该声明

print('THIS APP IS IN DEBUG MODE. YOU SHOULD NOT SEE THIS IN PRODUCTION.')

无论哪个都打印ENV您可以进行设置,因为解释器会在运行脚本的其余部分之前执行类定义中的所有代码。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

烧瓶生产开发模式 的相关文章

随机推荐