django的每个应用程序默认设置
djappsettings的Python项目详细描述
djappsettings:django的每个应用程序设置
- 我讨厌每次启用应用程序时都将blobs粘贴到settings.py中。
- 这是一个python模块,它为可重用的django应用程序提供了一种合理的配置方式。
- 它是django.conf.settings类的替换项。您可以通过单个settings对象获取所有项目、应用程序和全局默认设置。 它不触碰您的项目的设置模块,而现有的Django应用程序可以自由地忽略它。如果此模块不可用,您的应用程序甚至可以返回到通常的方法。
- 应用程序设置无法删除built-in settings。它们只能添加设置。
- 项目设置(在DJANGO_SETTINGS_MODULE中)覆盖应用设置。
- 使用每个应用程序的前缀是一个好主意,但不是强制性的。
但是,但是
- 我知道Jared Forsyth的django-appsettings,我认为它很可爱,但错了。在django管理中不应编辑项目设置。
- 我也知道这个特性在django trac上被多次拒绝。但每次我添加一个应用程序时,在我的settings.py中粘贴一堆垃圾是件麻烦事。
- 检查设置(通过settings.hasattr)并返回硬编码的默认值是一个糟糕的解决方案,因为您的默认值是重复的和隐藏的。它们应该很容易被发现。
用法
您通常会在其中执行以下操作:
from django.conf import settings getattr(settings, "MY_SETTING", "DEFAULT")
在应用程序中创建一个settings.py文件,其中包含:
MY_SETTING = "DEFAULT"
做些类似的事情:
from djappsettings import settings settings.MY_SETTING
如果您想在可用的地方支持这个模块,但如果不支持,请返回到通常的方法,只要tryit:
try: from djappsettings import settings except: from django.conf import settings settings.MY_SETTING
安装
通过PIP:
$ pip install djappsettings
通过Github:
$ git clone git://github.com/adammck/djappsettings.git $ python djangoappsettings/setup.py install
测试
安装tox并运行测试:
$ git clone git://github.com/adammck/djappsettings.git $ pip install tox $ cd djappsettings $ tox
许可证
djappsettings是免费软件,在bsd许可下提供。