django的简单应用程序特定设置

django-easysettings的Python项目详细描述


django easysettings

Build statusCoverage status

django应用程序的简单应用程序特定设置。

为应用程序的默认设置提供使用声明性类的方法。 此类的实例可用于访问所有项目设置 共django.conf.settings

安装

要安装,请运行:pip install django-easysettings

使用量

在应用程序的目录中创建一个conf.py文件,添加 应用程序特定设置的默认值。他们将被 提供的任何项目设置。

例如:

fromeasysettings.appimportAppSettingsclassSettings(AppSettings):MYAPP_FRUIT='Apple'settings=Settings()

然后在您的应用程序中,使用 来自myapp.conf导入设置。例如:

frommyapp.confimportsettingsdefdashboard(request):context={}context['fruit']=settings.MYAPP_FRUITifsettings.DEBUG:context['debug_mode']=True# ...

词典

一个常见的模式是使用字典作为所有应用程序的命名空间 设置,例如settings.MYAPP['settings']

简单设置处理此精细设置,覆盖项目中提供的任何键 同时仍然可以访问默认的应用程序设置键。

还可以使用AppSettings类的子类来设置字典。

fromeasysettings.appsimportAppSettingsclassMyAppSettings(AppSettings):"""
    MyApp settings
    """#: Preferred fruitFRUIT='Apple'#: Preferred drinkDRINK='Water'classSettings(AppSettings):MYAPP=MyAppSettingssettings=Settings()

传统用法

如果以前你的应用程序使用了一个公共前缀(如myapp 仍然可以支持仍使用这些独立的传统设置的项目 为您的设置移动到MYAPP字典时。

fromeasysettings.legacyimportLegacyAppSettingsclassSettings(LegacyAppSettings):MYAPP={'FRUIT':'Apple'}settings=Settings()

如果项目使用像MYAPP_FRUIT = 'Banana'这样的设置,它们将继续 去工作。一旦项目切换到MYAPP,任何MYAPP_*设置 将被忽略。

使用旧版应用程序设置类时,字典设置仍然可以 通过前缀设置(例如,settings.MYAPP_FRUIT)访问。

更改日志

2.0.1(2019年8月10日)

  • 将python 3.7和django 2.2添加到测试矩阵中。

2.0(2018年4月24日)

  • 项目全部返工!现在导入 from easysettings.app import AppSettings(但可从中导入 easysettings以获得更好的向后兼容性)。
  • 删除了独立设置功能,不需要单独设置 用于测试和/或使用TestCase.settings()上下文管理器的模块。
  • 添加了easysettings.legacy.LegacyAppSettings用于向后提供 将设置移动到时前缀项目设置的兼容性 字典而不是具有相同前缀的单个设置。

1.1(2017年4月4日)

  • django 1.11兼容性。

1.0.1(2012年5月24日)

  • 包括额外的源文件。

1.0(2012年4月16日)

  • 初次发布。

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

推荐PyPI第三方库


热门话题
由于java的原因,maven无法运行代码。lang.NoClassDefFoundError:com/fasterxml/jackson/annotation/JsonMerge   Android项目中的java Creative SDK图像编辑器UI   java如何在Android Studio中使用DataOutputStream上传文件并将其他参数传递到web服务器   java倒计时服务打开时崩溃   java将RubyonRails项目转换为JRubyonRails项目   java我的图库意图是不显示图像?为什么?   java如何在春季启动时跳过mongodb/   java@Autowired在Spring中是如何实现的   甲骨文Akka java。util。同时发生的timeoutexception线程池频繁超时   java maven依赖项对spring启动应用程序有何影响?   java Firestore执行复合查询,未截获事件“已修改”   java ItemStreamException:未能初始化读取器,原因是:IllegalStateException:流已初始化。重新开放前关闭   java将空标记解组到集合的新实例中   使用AspectJ的java新手:无法调用aspect   java查找棋类游戏的所有组合   你为什么要这样做and==与Java中的equals方法不一样吗?   如何对使用JavaUUID的代码进行单元测试?