django中如何如何针对不同的环境使用多个配置文件?

0 0 django flask python
苏颜。
苏颜。

声望值:81 0人

2018-10-18 11:04:20 提问

关注 0关注

收藏 0收藏, 27浏览

在flask中时配置文件可以专门写成一个文件,文件中针对不同的环境可以写不同的类,启动app时会实行 create_app函数,根据传入的配置类的名字加载相应的配置。但是在django中不知道该如何配置?有没有对djanog熟悉的同学,说下django是如何实现多个settings配置,或者也用类的方法区别不同环境?

class Config:
    SECRET_KEY = os.environ.get('SECRET_KEY') or 'hard to guess string'
    SQLALCHEMY_COMMIT_ON_TEARDOWN = True
    SQLALCHEMY_TRACK_MODIFICATIONS = False


class DevelopmentConfig(Config):
    basedir = os.path.abspath(os.path.dirname(__file__))
    DEBUG = True
    SQLALCHEMY_DATABASE_URI = 'sqlite:///' + os.path.join(basedir, 'data-dev.sqlite')
    ADMIN_EMAIL = 'Admin@flask.com'
    ADMIN_USER = 'Admin'
    ADMIN_PASSWD = 'Admin'


class ProductionConfig(Config):
    SQLALCHEMY_DATABASE_URI = 'mysql://yang:yang@www.opstr.club:3306/Test'


config = {
    'development': DevelopmentConfig,
    'production': ProductionConfig,
    'default': DevelopmentConfig
}
def create_app(config_name='default'):
    app = Flask(__name__)
    app.config.from_object(config[config_name])

    db.init_app(app)
    login_manager.init_app(app)
请先 登录 后评论

1个回答

  • l梁上君子141声望 2018-10-15 16:03

    有啊 需要自己写,你要知道启动的入口在manage.py,写个方法判断传入的参数,再去加载不同的配置文件,比如给你看个例子https://github.com/edx/edx-pl...
    请先 登录 后评论

注册新账号

悬赏追问
10
  • 10
  • 20
  • 50
  • 100
  • 200
  • 输入数值
发布追问
XML 地图 | Sitemap 地图