В чем разница между 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: В противном случае, пожалуйста, создайте страницу и назначьте ту же строку слагов в слаге вновь создаваемой страницы.