一个用于优雅处理打包应用程序配置默认值的辅助类。
项目描述
一个用于优雅处理打包Django应用程序配置默认值的辅助类。
概述
假设您有一个名为 myapp 的应用,其中包含一些默认设置,您希望在应用代码中不重复这些设置。 appconf 提供了一个简单的类来实现这些默认设置。只需在您的应用文件中添加类似以下代码即可
from appconf import AppConf
class MyAppConf(AppConf):
SETTING_1 = "one"
SETTING_2 = (
"two",
)
设置以设置所在的应用的命名空间首字母大写形式初始化。例如,如果您的包含 AppConf 类的 models.py 文件位于 myapp 包中,则设置的名称前缀将是 MYAPP。
您可以通过指定内部 Meta 类的 prefix 属性来覆盖默认前缀
from appconf import AppConf
class AcmeAppConf(AppConf):
SETTING_1 = "one"
SETTING_2 = (
"two",
)
class Meta:
prefix = 'acme'
MyAppConf 类将自动检查Django的全局设置以确定是否已覆盖。例如,将以下内容添加到您的站点 settings.py 中将覆盖上述 MyAppConf 的 SETTING_1
ACME_SETTING_1 = "uno"
由于 django-appconf 使用其默认值(如上面的“one”)完成Django的全局设置,因此标准的 python manage.py diffsettings 会自动显示这些默认值。
如果您想使用除默认的 'django.conf.settings' 之外的设置对象,请将内部 Meta 类的 holder 属性设置为点分导入路径
from appconf import AppConf
class MyAppConf(AppConf):
SETTING_1 = "one"
SETTING_2 = (
"two",
)
class Meta:
prefix = 'acme'
holder = 'acme.conf.settings'
如果您将 AppConf 类与您的可重用Django应用一起分发,建议将其放在应用包的 conf.py 文件中,并在其中导入 django.conf.settings
from django.conf import settings
from appconf import AppConf
class MyAppConf(AppConf):
SETTING_1 = "one"
SETTING_2 = (
"two",
)
在您的应用的其他文件中,如果您从该模块导入Django的设置对象,可以轻松确保设置正确加载,例如在您的应用 views.py 中
from django.http import HttpResponse
from myapp.conf import settings
def index(request):
text = 'Setting 1 is: %s' % settings.MYAPP_SETTING_1
return HttpResponse(text)
项目详情
下载文件
下载适合您平台的应用程序。如果您不确定选择哪个,请了解更多关于 安装包 的信息。
源代码发行版
django-appconf-1.0.6.tar.gz (15.9 kB 查看哈希值)
构建发行版
关闭
django-appconf-1.0.6.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | cfe87ea827c4ee04b9a70fab90b86d704cb02f2981f89da8423cb0fabf88efbf |
|
MD5 | 09e9da7bb4ff3d50db288faaa127f933 |
|
BLAKE2b-256 | 65e0704b6453f21fac22f0ab128150e9782b7d38bc1ed09710ac2197ddc1751f |
关闭
django_appconf-1.0.6-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | c3ae442fba1ff7ec830412c5184b17169a7a1e71cf0864a4c3f93cf4c98a1993 |
|
MD5 | 04d640318dd06d64afde85fae6d09531 |
|
BLAKE2b-256 | c0981cb3d9e8b1c6d0a74539b998474796fc5c0c0888b6201e5c95ba2f7a0677 |