将某些设置从django settings.py移到可部署的.ini文件中的可配置方法

django_ini_settings的Python项目详细描述


#django ini settings



此库旨在成为一种非侵入性的可配置方式,用于将某些本地设置从django settings.py移到可部署的.ini文件中

如果要使用默认配置
映射,可以执行以下操作:

from django_ini_settings.load import load_ini

load_ini(ini file=“/etc/application/application.ini”,
设置模块=系统模块[用户名]

这意味着您的ini文件位于/etc/application/application.ini中
例如,此ini可能看起来像:

[数据库]
[用户=Postgres
密码=机密

[安全性]
机密密钥=!sfgr42325asdasd$34324
debug=false

例如,

[string]
custom_url=/custom/url

[bool]
feature_on=false

[int]
max_num_files=120

提供自己的映射,包括通配符。例如,在您的设置中添加




from django_ini_settings.load import load ini
from django_ini_settings.settings_type import(dictemsetting,stringsetting,
boolsetting,intsetting)
from django_ini_settings.statics import any,name_to_upper

配置文件映射={
(“数据库”,“用户”):dictemsetting((“数据库”,“默认”,“用户”)),
(“数据库”,“密码”):dictemsetting((“数据库”,“默认”,“密码”),
(“数据库”,“引擎”):dictemsetting((“数据库”,“默认”,“引擎”),
(“数据库”,“name”):dictitemsetting((“databases”,“default”,“name”)),
(“database”,“host”):dictitemsetting((“databases”,“default”,“host”),
(“database”,“port”):dictitemsetting((“databases”,“default”,“port”),
(“security”,“secret_key”):stringsetting(“secret_key”),
(“security”,“调试”):boolsetting(“调试”),
(“url”,“media_url”):stringsetting(“media_url”),
(“url”,“static_url”):stringsetting(“static_url”),
(“application”,“max_file_size”):intsetting(“max_file_size”),
(“application”,any):stringsetting(name_to_upper),
}


加载ini(ini file=“/etc/application/application.ini”,
设置模块=系统模块[\24273;名称廑],
配置映射=配置文件廑映射)


环境变量

而不是执行以下操作:

load廑ini(ini file=“/etc/application/application.ini”,
settings_u module=sys.modules[uu name_uu])


还可以设置环境变量“django_config_file”,其中包含ini文件的位置。例如,

django_config_file=/etc/application/application.ini

否则:

pip install nose

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
JavaGWT:何时使用Lazydemelement?   Java中跟踪消失线程的多线程处理   java Springboot未能配置数据源:“url”,但我没有使用数据库   java为按钮生成随机位置   math Java:包含二项式系数计算的表达式   java通过AsyncTask传递参数   从路径错误创建java文件   高流量网站的性能播放框架、Java、Apache、PostgreSQL、JPA和Hibernate   java将4D矢量转换为长矢量   arraylist Java循环在没有任何错误的情况下终止   java正在制作一个计算器应用程序,希望在第二个片段中更新历史,但无法完成   java将信息从IntentService发送到Activity   java如何在游戏中插入大量实体!工作   javascript如何在ScriptEngineforJava中从数学中获得准确的结果?