开发者社区> 问答> 正文

在Wagtail的Base.html模板中使用图像

我想通过从页面模型中提取徽标来向我的base.html中添加徽标...但是我无法通过w来访问base.html页面模型,因此我不知道在哪里创建ImageChooserPanel为我的导航栏指定徽标(应将其应用于所有页面)。

问题来源:stackoverflow

展开
收起
is大龙 2020-03-24 09:21:08 579 0
1 条回答
写回答
取消 提交回答
  • 在您的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

    2020-03-24 09:21:15
    赞同 展开评论 打赏
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
《零基础HTML入门教程》 立即下载
天猫 HTML5 互动技术实践 立即下载
天猫HTML5互动技术实践 立即下载