在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)
你可以在调用manage.py的时候指定--settings,然后可以把本来的settings.py分为多个文件,比如dev.py/test.py等等