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

Django url不匹配,即使它应该匹配

  •  2
  • JaHei  · 技术社区  · 16 年前

    在浏览器中,我得到: 请求URL: http://xxxxxx:8000/person/test/


    ^person/ ^$
    ^person/ ^person/(?P<slug>[-\w]+)/$
    ^admin/
    当前URL, person/test/

    在python shell中,我得到:
    import re
    url = 'person/test/'
    pattern = re.compile(r'^person/(?P<slug>[-\w]+)/$'
    re.match(pattern,url)
    <_sre.SRE_Match object at 0xb7716860>

    所以它显然应该匹配regexp。 只使用url person/(^$regexp)就可以了。

    当然,我试过重新启动开发服务器。这里可能有什么问题?

    1 回复  |  直到 16 年前
        1
  •  5
  •   Ned Batchelder    16 年前

    它不符合 r'^person/(?P<slug>[-\w]+)/$' r'^person/person/(?P<slug>[-\w]+)/$'

    你可能已经匹配了 ^person/ 在一个网址.py,然后导入另一个网址.py把“人”也放进去。把它从第二个网址.py. 导入后,将生成一个辅助网址.py只需要匹配URL的其余部分,而不是整个URL。

    推荐文章