【问题标题】:What is the difference between slugurl and pageurl in wagtilwagtail中的slugurl和page url有什么区别
【发布时间】:2018-05-22 04:46:55
【问题描述】:

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

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

为什么slugurl返回

【问题讨论】:

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


    【解决方案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

    slugurlslug 字符串 作为输入,而 pageurl页面对象 作为输入。

    注意:slugurl 内部调用 pageurl,如果页面找到了提及字符串 slug。

    2:为什么 slugurl 返回 None.?

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

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

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

    如果您遇到 slugurl 的 None 问题,请执行以下两个简单步骤:

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

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

    【讨论】:

      猜你喜欢
      • 2011-12-14
      • 2016-02-02
      • 1970-01-01
      • 1970-01-01
      • 2023-02-20
      • 1970-01-01
      • 1970-01-01
      • 2013-09-06
      • 2012-11-14
      相关资源
      最近更新 更多