Ссылка Wagtail root страница в шаблонах - PullRequest
0 голосов
/ 11 января 2020

В настоящее время я отображаю ссылку на домашнюю страницу своего сайта в базовом шаблоне, используя этот код:

{% if page.slug != 'homepage' %}
    <!-- insert link code here -->
{% endif %}

Однако мне нравится повторно использовать мой код, и иногда страница называется как-то еще. Я хотел бы написать что-то вроде:

{% if page != request.site.root_page %}

Однако это не работает, хотя, если я отображаю значения этих полей в шаблоне, они оба равны или не соответствуют ожиданиям ...

<p>{{ request.site.root_page }} and {{ page }}<p>

Результат:

<p>Contact and Contact</p> # On the root page

или

<p>Contact and Test</p> # On a different page

Проблема, противоположная этому , поскольку данные не указаны c для одну страницу, но на каждую страницу, кроме одной.

Что мне не хватает?

1 Ответ

1 голос
/ 11 января 2020

Хорошо, в процессе объяснения вопроса я тоже нашел ответ. Это не работает (я полагаю), потому что, хотя эти значения выглядят одинаково, они на самом деле являются объектами с разными свойствами, поэтому сравнение не удается.

Чтобы сравнение было успешным, вам нужно извлечь значения из каждого возразить и сравнить их. Так что это не будет работать ...

{% if page != request.site.root_page %}

Однако оба они работают ...

{% if page.title != request.site.root_page.title %}

... или ...

{% if page.url != request.site.root_page.url %}

Пинаю себя сейчас, но, надеюсь, мое издевательство c поможет кому-то в будущем.

...