Django urlconf无法解析有效的正则表达式

时间:2017-02-16 10:17:25

标签: regex django url urlconf

我在将URL路由到Django中的视图时遇到了问题。具体来说,我使用带有模式的URL:

url(r'^(?P<id>[A-Za-z0-9\ ]+)/(?P<subid>[A-Za-z0-9\ ]+)/managetables$', views.compiledata, name='compiledata')

示例网址为My data/current/managetables。我检查了正则表达式返回www.pyregex.com上预期的捕获组(example

但是,实际访问url不会导致调用视图。最重要的是,它适用于高度相似的网址:

url(r'^(?P<id>[A-Za-z0-9\ ]+)/(?P<subid>[A-Za-z0-9\ ]+)/managetab$', views.compiledata, name='compiledata')

如果我访问My data/current/managetab,视图会按预期调用。另外,在urlconf中添加“/”也可以 - 但我不清楚为什么,即:

url(r'^(?P<id>[A-Za-z0-9\ ]+)/(?P<subid>[A-Za-z0-9\ ]+)/managetables/$', views.compiledata, name='compiledata')

并访问My data/current/managetables会导致重定向到调用该视图的My data/current/managetables/

我很欣赏如何解决这个问题的任何提示。

1 个答案:

答案 0 :(得分:0)

好吧,虽然这个问题确实仅在两台机器中的一台机器上出现,但暗示网址的暗示解决了这个问题。对于任何遇到类似问题的人,可以在此处找到有关slugify的更多信息: Tango with Django's Chapter 7,以及Django Documentation