一个帮助类,用于优雅地处理打包应用程序的配置默认值。
项目描述
一个帮助类,用于优雅地处理打包的 Django 应用程序的配置默认值。
概述
假设您有一个名为myapp的应用程序,其中包含一些默认值,您希望在应用程序的代码中引用这些默认值,而不是一直重复自己。 appconf提供了一个简单的类来实现这些默认值。只需在您的应用程序文件中的某处添加类似以下代码的内容:
from appconf import AppConf
class MyAppConf(AppConf):
SETTING_1 = "one"
SETTING_2 = (
"two",
)
使用设置所在位置的大写应用程序标签初始化设置。例如,如果您的带有AppConf类的models.py位于myapp包中,则设置的前缀将为MYAPP。
您可以通过指定内部Meta类的前缀属性来覆盖默认前缀:
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.5-py3-none-any.whl 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | ae9f864ee1958c815a965ed63b3fba4874eec13de10236ba063a788f9a17389d |
|
| MD5 | 083823d8fa230a7afd18f93b3ecb5498 |
|
| 布莱克2-256 | 489578c279b7861efd8b0282e9373d40ec7247664bf1246a6cdc9e59d281ceb0 |