分布式django配置的flasky方法

django-kungfu的Python项目详细描述


姜戈功夫

django-kungfu提供设置django配置的能力 机制,因此很容易集成与开发或部署相关的 设置覆盖。

这个想法是在我使用了一段时间漂亮的配置系统之后产生的。 在Flask中实现。事实上,大部分代码都是受启发的 由位于here的烧瓶实现。

示例用法

与django项目的集成相当简单,取决于 偏好。一个可能的设置可能如下:

# At the bottom of your/settings.py file just add the following lines
from django_kungfu import Configurator
config = Configurator(locals())
config.from_pyfile(os.path.join(os.path.dirname(__file__), 'dev_settings.py'))
config.from_envvar('DJANGO_SETTINGS_OVERRIDE')

简而言之,当加载django设置文件时会发生以下情况: #如果dev_settings.py文件与设置文件位于同一目录中, 所有的上例常量都被加载到本地上下文中。 一个 #如果Django_settings_override环境变量已设置并指向 一个有效的配置文件,该配置文件以相同的方式加载

默认情况下,如果未找到指定的文件或环境变量,或 无效,配置程序将自动失败。例如,这很有用 使用生产系统中不可用的开发设置时 我们希望保留一个设置文件作为配置入口点。

如果要强制特定配置文件的存在,或者 环境变量可以将silent=False与 方法。

使用此配置,您可以轻松地设置生产环境 通过在生产wsgi文件中设置适当的环境变量:

# prod.wsgi
import os

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "myproject.settings")
os.environ.setdefault("DJANGO_SETTINGS_OVERRIDE",
                      os.path.expanduser("~/etc/myproject/prod_settings.py"))

from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()

为什么是功夫?

之所以选择这个名字,是因为功夫用我的母语发音(一个地区 罗马尼亚方言)听起来类似于config(confu)。当然还有我对军事的同情 艺术,尤其是功夫,带来了几点。

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

推荐PyPI第三方库


热门话题
面向java语句的方法与面向表达式的方法   密码学如何在java中为json对象签名?   是否可以通过java程序知道给定卡夫卡消费群体的消费偏移量?   打印字符时出现java未知问号   java为JFrame设置背景色   在ubuntu中检查java版本时linux权限被拒绝   如何用java创建xml模式   java无法在远程服务器上运行Vaadin应用程序   java智能垃圾收集?   java如何在SpringMVC中设置缓存头?   在unix计算机上运行java应用程序a:>签名以输入内容   Java、Apache Commons配置XML属性   使用ArrayList调用Java未经检查的方法   在文本文件中查找并替换单词(Java GUI)   java Android Studio无法检测到JDK7或更新版本   java从socket的有效负载获取事件消息   安卓中java调用子类方法   java如何通过点击超链接来运行jar文件(Firefox)