django中如何如何針對不同的環境使用多個配置文件?

0 0 django flask python
蘇顏。
蘇顏。

聲望值:81 0人

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

關注 0關注

收藏 0收藏, 4864瀏覽

在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 = '[email protected]'
    ADMIN_USER = 'Admin'
    ADMIN_PASSWD = 'Admin'


class ProductionConfig(Config):
    SQLALCHEMY_DATABASE_URI = 'mysql://yang:[email protected]: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
  • 輸入數值
發布追問
加拿大28火车判定方法