代码之家  ›  专栏  ›  技术社区  ›  marcx

django urlconf直接从根到包含的应用程序逻辑

  •  0
  • marcx  · 技术社区  · 7 年前

    我试图解决这个问题已经有一段时间了,但还没有找到一个有效的解决方案。也许有人能帮我指出一个更好的方法!

    url("^about/news/", include("kdi.urls")),
    url("^about/recognition/", include("kdi.urls")),
    

    这是 kdi

    url(r"^$", "kdi.views.news", name="news"),
    
    # this is the pattern that needs to change:
    url(r"^$", "kdi.views.recog", name="recog"),
    

    从根目录使用更细粒度的重定向似乎更明智 ^about/news/ ^about/recognition ^$ 在应用程序的urlconf中。这只适用于一种模式,但我想将其扩展到两种模式。

    ^about/ ^/news$ ^/recognition$ 应用程序更智能?这也可以使用根的“包罗万象”吗 ^ 如果没有匹配?是否可以检查 request.path 然后使用if语句指向正确的视图?或者使用 name 字段,然后通过应用程序url模式中的该名称进行访问?

    编辑:

    远离的 namespace

    1 回复  |  直到 7 年前
        1
  •  3
  •   Daniel Roseman    7 年前

    -否则Django可能不知道如何路由请求。

    url("^about/", include("kdi.urls")),
    

    应用程序应该是:

    url(r"^news/$", "kdi.views.news", name="news"),
    url(r"^recognition/$", "kdi.views.recog", name="recog")