В чем разница между slugurl и Pageurl в Wagtil - PullRequest
0 голосов
/ 22 мая 2018

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

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

Почему slugurl возвращает Нет ?

1 Ответ

0 голосов
/ 22 мая 2018

После отладки исходный код обнаружил это рядом с простым тегом 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 принимают строку slug в качестве ввода, где pageurl принимает объект страницы на входе.

ПРИМЕЧАНИЕ: slugurl внутренне вызовите pageurl, если страница найдена с упомянутым фрагментом строки.

2: Почему возвращается slugurl Нет .?

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

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

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

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

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

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

...