Django设置组织助手。
项目描述
django-configurations通过利用Python类的组合性,简化了Django项目的配置。它通过引入成熟的面向对象编程模式,扩展了Django基于模块的设置加载概念。
请参阅文档以获取更完整的示例。
快速入门
安装django-configurations
$ python -m pip install django-configurations
或者,如果您想使用基于URL的值
$ python -m pip install django-configurations[cache,database,email,search]
然后在项目的settings.py或其他任何用于存储设置常量的模块中,子类化包含的configurations.Configuration类,例如:
# mysite/settings.py
from configurations import Configuration
class Dev(Configuration):
DEBUG = True
将环境变量DJANGO_CONFIGURATION设置为刚刚创建的类的名称,例如在bash中
$ export DJANGO_CONFIGURATION=Dev
并将环境变量DJANGO_SETTINGS_MODULE设置为模块导入路径,如往常一样,例如在bash中
$ export DJANGO_SETTINGS_MODULE=mysite.settings
或者在使用Django管理命令时,例如Django默认的--settings命令行选项,提供--configuration选项。
$ python -m manage runserver --settings=mysite.settings --configuration=Dev
为了使Django能够使用您的配置,您现在必须修改您的manage.py、wsgi.py或asgi.py脚本来使用django-configurations提供的适当启动函数版本,例如,使用django-configurations的典型manage.py可能如下所示:
#!/usr/bin/env python
import os
import sys
if __name__ == "__main__":
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'mysite.settings')
os.environ.setdefault('DJANGO_CONFIGURATION', 'Dev')
from configurations.management import execute_from_command_line
execute_from_command_line(sys.argv)
注意在第10行,我们没有使用常见的工具django.core.management.execute_from_command_line,而是使用configurations.management.execute_from_command_line。
同样适用于您的wsgi.py文件,例如:
import os
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'mysite.settings')
os.environ.setdefault('DJANGO_CONFIGURATION', 'Dev')
from configurations.wsgi import get_wsgi_application
application = get_wsgi_application()
在这里,我们没有使用默认的django.core.wsgi.get_wsgi_application函数,而是使用configurations.wsgi.get_wsgi_application。
如果您不是通过WSGI而是通过ASGI来服务您的应用程序,您还需要修改您的asgi.py文件。
import os
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'mysite.settings')
os.environ.setdefault('DJANGO_CONFIGURATION', 'DEV')
from configurations.asgi import get_asgi_application
application = get_asgi_application()
就这样!现在您可以使用manage.py和您喜欢的WSGI/ASGI服务器来使用您的项目。
项目详情
下载文件
下载适用于您的平台文件。如果您不确定要选择哪个,请了解更多关于安装包的信息。
源分发
构建分发
django-configurations-2.5.1.tar.gz的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | 6e5083757e2bbdf9bb7850567536b96a93515f6b17503d74928ff628db2e0e94 |
|
MD5 | cbda48183390d4dba48f74dc65b71558 |
|
BLAKE2b-256 | c3675fec7c64118209b20bde6b6f8a82300d9f4a56f7303293e2b31f9940e721 |
django_configurations-2.5.1-py3-none-any.whl的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | ceb84858da2dac846b15e715c2fd936cfc4c7917c074aff8d31700564093955e |
|
MD5 | 1bb3662d1b7a70d3d074de375e41ad38 |
|
BLAKE2b-256 | 6f4e1cc7fd6c0292d56e104f0c8c54ed71c35cafa06838d8f910b918589bf596 |