В чем разница между slugurl и Pageurl в Wagtil

У меня есть два основных запроса, связанных с slugurl и Pageurl:

Какая точная разница между slugurl а также pageurl?

Зачем slugurl возвращение Нет?

1 ответ

После отладки исходный код обнаружил это в стороне простого тега slugurl.

    @register.simple_tag(takes_context=True)
    def slugurl(context, slug):
        """Returns the URL for the page that has the given slug."""
        page = Page.objects.filter(slug=slug).first()

        if page:
            # call pageurl() instead of page.relative_url() here so we get the ``accepts_kwarg`` logic
            return pageurl(context, page)

1: Какова точная разница между slugurl а также pageurl?

И то и другое slugurl а также pageurl являются тегами

slugurl принять входную строку, где как pageurl возьмите объект страницы на входе.

НОТА: slugurl внутренне позвонить pageurl, если страница найдена с упоминанием строки slug.

2: Почему слагурл не возвращается?

Если вы передаете какую-либо строку (скажем "привет") в slugurl, то строка должна быть слагом любого Page

 page = Page.objects.filter(slug=slug).first()

Если упомянутая строка не назначена как кусок любой страницы, метод вернет None

В случае, если вы столкнулись с проблемой None с slugurl затем выполните следующие два простых шага:

1: во-первых, проверьте, есть ли на вашей странице упоминание о слаге или нет.

2: В противном случае, пожалуйста, создайте страницу и назначьте ту же строку слагов в слаге вновь создаваемой страницы.

Другие вопросы по тегам