Я пытаюсь построить панель навигации на основе фрагмента. Все ссылки, содержащиеся в этой панели навигации, относятся к дочерним страницам, имена которых будут одинаковыми в каждом экземпляре этого фрагмента, например:
Parent
Page1
Page2
Page3
Я хочу, чтобы каждая ссылка создавалась с использованием URL текущей страницы. он находится в сочетании с дочерней страницей, например /Path/to/Parent/Page1
. Имя дочерних страниц останется непротиворечивым, но страницы родительских имен будут изменены. Он должен содержаться в структуре фрагмента данных, чтобы я мог реплицировать его во все, что я делаю, поэтому я строю его в файле html следующим образом:
{% extends "base.html" %}
{% load wagtailcore_tags %}
{% block content %}
<p><a href="{% pageurl page.Page1 %}">About this project</a></p>
{% endblock %}
В частности, я не знаю как отформатировать ссылку href, чтобы правильно ссылаться на указанные c подстраницы, оттуда я могу расширить эту единственную ссылку на все ссылки на дочерние страницы, по которым я хочу перейти таким образом. Ниже приведена копия того, что существует в моем файле models.py, относящемся к этому разделу. Я проследовал за документацией / другими публикациями и нашел ниже функцию URL страницы возврата, но я не знаю, как ее правильно включить.
@register_snippet
class Navbar(models.Model):
url = models.URLField(null=True, blank=True)
text = models.CharField(max_length=255)
panels = [
FieldPanel('url'),
FieldPanel('text'),
]
def __str__(self):
return self.text
class PageUrl(Page):
def returnPageUrl(self):
return self.get_url()
Идеальное решение: Простой метод форматирования ссылок href для ссылки на дочерние страницы, которые будут иметь одинаковую структуру имен на всех страницах, в которые добавлен фрагмент, содержащий эту структуру.
РЕДАКТИРОВАТЬ: Я нашел решение, которое использует следующую структуру в ссылке href:
<p><a href="././Page1">Page1</a></p>
Где каждый. ссылался на предыдущий родительский уровень, пока он не совпадал с дочерней страницей, которую я хотел. Однако, учитывая, что это зависит от того, останется ли моя структура трясогузки неизменной, если я смогу удалить эту зависимость, я все равно буду очень признателен за ответ.