我想通过从页面模型中提取徽标来向我的base.html中添加徽标...但是我无法通过w来访问base.html页面模型,因此我不知道在哪里创建ImageChooserPanel为我的导航栏指定徽标(应将其应用于所有页面)。
问题来源:stackoverflow
在您的models.py文件中添加一个设置:
from django.db import models
from wagtail.contrib.settings.models import BaseSetting, register_setting
from wagtail.images.models import Image
from wagtail.images.edit_handlers import ImageChooserPanel
@register_setting
class SiteSettings(BaseSetting):
logo = models.OneToOneField(Image, null=True, blank=True, on_delete=models.SET_NULL, related_name='+', verbose_name='Business logo')
panels = [
ImageChooserPanel('logo'),
]
现在,在管理员设置菜单中,您将看到站点设置。单击该按钮以选择您的徽标。
在顶部的模板中:
{% load wagtailimages_tags %}
然后渲染:
{% image settings.app_label.SiteSettings.logo width-300 %}
其中app_label
是您拥有models.py
文件的应用程序/文件夹。
参考: https: //docs.wagtail.io/zh-CN/latest/reference/contrib/settings.html#using-in-django-templates
回答来源:stackoverflow
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。