В вашем проекте добавьте к вашему models.py
:
from cms.models import CMSPlugin
from filer.fields.image import FilerImageField
class MyCoverModel(CMSPlugin):
cover = FilerImageField(
null=True,
blank=True,
related_name='header_logo',
)
в cms_plugins.py
добавьте:
from cms.plugin_base.CMSPluginBase
from cms.plugin_pool import plugin_pool
from .models import MyCoverModel
class CoverPlugin(CMSPluginBase):
name = "Cover"
model = MyCoverModel
render_template = 'my_cover.html'
plugin_pool.register_plugin(CoverPlugin)
и в templates/my_cover.html
добавьте:
{% load thumbnail %}
{% thumbnail instance.cover 1000x500 crop upscale as thumb %}
<header class="masthead" style="background-image: url('{{ thumb.url }}'); width={{ thumb.width }}; height={{ thumb.height }};"></header>
Обратите внимание на использование эскиза шаблона тега из приложения easy-thumbnails .Здесь он ограничивает размер изображения до 1000 на 500 пикселей.
Это добавляет простой плагин к вашей установке CMS.Редактируя поле заполнителя, он предлагает плагин с именем Cover
.Выберите изображение оттуда, и оно будет отображаться в качестве фона заголовка.