django的每个应用程序默认设置

djappsettings的Python项目详细描述


djappsettings:django的每个应用程序设置

  • 我讨厌每次启用应用程序时都将blobs粘贴到settings.py中。
  • 这是一个python模块,它为可重用的django应用程序提供了一种合理的配置方式。
  • 它是django.conf.settings类的替换项。您可以通过单个settings对象获取所有项目、应用程序和全局默认设置。
  • 它不触碰您的项目的设置模块,而现有的Django应用程序可以自由地忽略它。如果此模块不可用,您的应用程序甚至可以返回到通常的方法。
  • 应用程序设置无法删除built-in settings。它们只能添加设置。
  • 项目设置(在DJANGO_SETTINGS_MODULE中)覆盖应用设置。
  • 使用每个应用程序的前缀是一个好主意,但不是强制性的。

但是,但是

  • 我知道Jared Forsythdjango-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

虫子?

这是为RapidSMS项目创建的。我希望它对你有用。使用它的风险由你自己承担。(但一定要使用它,因为它比way更好。)

补丁和拉请求是非常受欢迎的。 请在GitHub上归档错误。

许可证

djappsettings是免费软件,在bsd许可下提供。

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

推荐PyPI第三方库


热门话题
带truezip的java拆分zip   java Spring,AppEngine:在AppEngine的数据源中添加postgresql url   java Android coverflow   java以编程方式创建复合过滤器,以在log4j 2中定义多个过滤器   java jpa eclipselink异常[eclipselink 4002]   中的java WordNet数据库目录相对路径。罐子   java无法在Spring Boot 2/3中显示登录的用户   java Onetomany:未找到联接表错误   java数据模型演化   java方法在类型列表中添加的(对象)不适用于参数(int)意味着什么?   用java打印两个数组   java SNMP4J发送从不超时   java添加/删除联系人(EditText)+类别(SpinnerBox),可以根据需要动态添加/删除多个联系人   语句和PreparedStatement之间的java差异   java在运行作为JAR归档文件分发的项目时加载图像等资源   来自应用程序或外部服务器的java Cron作业   多线程Java并发:并发添加和清除列表项   java更改单元测试的私有方法行为