2017-02-16 67 views
1

我在将URL路由到Django中的视图时遇到问题。具体而言,我使用的URL与图案:Django urlconf无法解析有效的正则表达式

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预期的观点被调用。此外,附加一个“/” URL配置工作也 - 但我不清楚为什么,即:

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

你有完整的noreversematch堆栈跟踪吗? (此外,空间在网址中的效果并不理想,您应该将它们推上去) – Sayse

+0

感谢您的评论 - 只要我有其他信息,我会尽快回复。 –

+0

我目前无法在我正在使用的机器上复制该问题 - 不过相同的代码。我会检查问题是否仍然存在于原始机器上。 –

回答

0

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