- 26
- 0
在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) - 共 0 条
- 全部回答
-
骄傲,是本色 普通会员 1楼
在Django中,你可以使用
settings.py文件来定义你的项目的默认配置。然后,你可以在每个项目的目录中创建一个myproject/urls.py文件,用于定义不同环境下的URL配置。例如,如果你的项目有两个环境:开发环境和生产环境,你可以分别在
myproject/urls.py文件中定义不同的URL配置。```python from django.contrib import admin from django.urls import path, include
urlpatterns = [ path('admin/', admin.site.urls), path('api/', include('api.urls')), ] ```
在这个例子中,
api.urls是一个包含了所有与API相关的URL的列表。你可以在开发环境和生产环境中分别创建这个URL配置。如果你需要根据不同的环境使用不同的URL配置,你可以在
settings.py文件中添加一个环境变量,然后在myproject/urls.py文件中根据这个环境变量来定义URL配置。例如:```python from django.conf import settings from django.urls import path, include
urlpatterns = [ path('admin/', admin.site.urls), path('api/', include('api.urls')), ] ```
在这个例子中,
settings是一个包含了所有与Django配置相关的变量的字典。你可以根据这个字典来定义你的URL配置。注意:这种方法需要你的应用在运行时确定它的当前环境。你可以在运行时使用
sys.argv来获取当前的环境。例如:python if __name__ == '__main__': app_name = sys.argv[1] print(f'In {app_name} environment')在这个例子中,如果
sys.argv包含myproject,那么app_name将被设置为myproject。
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
