Angenommen, dies ist eine Seitenvorlage, können Sie die aktuelle Seite durch das Seitenobjekt mit page.get_site() Zugriff funktioniert.
Das heißt, Sie werden mit magischen Zeichenfolgen/Zahlen (zum Überprüfen der Website-ID oder des Namens) in Ihren Vorlagen enden. Eine Möglichkeit, das zu umgehen, wäre die Verwendung des Moduls wagtail.contrib.settings.
Nachdem das Modul korrekt einrichten, erstellen Sie ein Objekt Einstellungen in myapp/wagtail_hooks.py
(die im Admin angezeigt):
from wagtail.contrib.settings.models import BaseSetting, register_setting
@register_setting
class LayoutSettings(BaseSetting):
POSITION_LEFT = 'left'
POSITION_RIGHT = 'right'
POSITIONS = (
(POSITION_LEFT, 'Left'),
(POSITION_RIGHT, 'Right'),
)
sidebar_position = models.CharField(
max_length=10,
choices=POSITIONS,
default=POSITION_LEFT,
)
Und verwenden Sie die Einstellungen in den Vorlagen myapp/templates/myapp/mytemplate.html
{% if settings.myapp.LayoutSettings.sidebar_position == 'left' %}
{% include 'includes/_home-sidebar-left.html' %}
{% else %}
{% include 'includes/_home-sidebar.html' %}
{% endif }