wagtil中slugurl和pageurl有什么区别

时间:2018-05-22 04:46:56

标签: wagtail wagtail-snippet wagtail-slugurl wagtail-pageurl

我有两个与slugurl和pageurl相关的主要查询:

slugurlpageurl之间的确切区别是什么?

为什么slugurl返回

1 个答案:

答案 0 :(得分: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:slugurlpageurl之间的确切差异是什么?

slugurlpageurl都是tags

slugurl slug string 作为输入,pageurl在输入处获取页面对象

注意:slugurl在内部调用pageurl,如果找到的页面带有提示字符串slug。

2:为什么slugurl返回。?

如果你在slugurl中传递任何字符串(比如说' hello'),那么字符串必须是任何Page

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

如果提及的字符串未被指定为任何页面的slug,则该方法将返回None

如果您遇到slugurl的无问题,请按以下两个简单步骤操作:

1:首先检查您的任何页面是否有提及slug。

2:如果没有,请创建一个页面并在新创建的页面的slug中分配相同的slug字符串。