在 Wagtail 2.1(基于 Django)中,自定义设置可以通过在 Django 的 settings.py
文件中定义它们并在 Wagtail 中访问它们来实现。以下是如何在 Wagtail 中自定义设置并从代码段访问它们的步骤:
settings.py
中定义自定义设置首先,在 Django 项目的 settings.py
文件中定义你的自定义设置。例如:
# settings.py
# 自定义设置
MY_CUSTOM_SETTING = 'some_value'
如果你需要更复杂的设置管理,可以创建一个 Django 模型来存储这些设置。例如:
# myapp/models.py
from django.db import models
from wagtail.admin.edit_handlers import FieldPanel
from wagtail.core.models import Page
class MyCustomSettings(Page):
my_custom_setting = models.CharField(max_length=255, default='default_value')
content_panels = Page.content_panels + [
FieldPanel('my_custom_setting'),
]
class Meta:
verbose_name = "My Custom Settings"
然后运行迁移来创建数据库表:
python manage.py makemigrations
python manage.py migrate
settings.py
中的设置你可以在 Wagtail 视图或其他 Python 代码中通过导入 Django 设置来访问这些设置:
# myapp/views.py
from django.conf import settings
def my_view(request):
custom_setting_value = settings.MY_CUSTOM_SETTING
# 使用 custom_setting_value
如果你使用了自定义设置模型,可以通过查询数据库来访问这些设置:
# myapp/views.py
from .models import MyCustomSettings
def my_view(request):
settings = MyCustomSettings.objects.first()
custom_setting_value = settings.my_custom_setting if settings else 'default_value'
# 使用 custom_setting_value
settings.py
中定义了设置,确保在部署时不要将这些敏感信息提交到版本控制系统中。领取专属 10元无门槛券
手把手带您无忧上云