【发布时间】:2011-04-06 15:33:34
【问题描述】:
我正在开发一个 django 应用程序,随着时间的推移,URL 越来越多。我现在有很多,由于我做了一些改变,一个视图开始出现故障。当我尝试获取http://example.com/foo/edit_profile 时,它应该执行某个视图函数X,但它正在执行Y。某个地方的 url 路由搞砸了,我想不通。我使用django.core.urlresolvers.resolve 方法从shell 尝试它,我可以确认URL 得到错误解析。但是,我不知道如何调试它并查明问题。
理想情况下,我希望看到“已测试此模式”、“已测试此模式”等内容,直到它最终找到正确的,然后我可以查看解决问题的位置。我找不到这样的东西。
这不是大型项目的常见问题吗?人们在做什么?
更新
我知道系统是如何工作的,以及如何一一浏览网址。这就是我想要做的。这个问题基本上是在问捷径。
【问题讨论】:
-
我还没有看到这么复杂的一组 URL。我的
urls.py往往有一堆包含,每个都有自己独特的前缀(例如,^foo会在 'foo' 应用程序中包含 URL,所以我可以去那里找出下一个匹配来自哪里. 如果您遇到此问题,您的urls.py可能太复杂了。如果您发布它,我们或许可以帮助您找出问题所在... -
实际上,我的(以及我见过的所有其他人)都是“命名空间”(一个唯一的前缀后跟一个包含)。但由于某种原因,我的 foo/ URL 之一被路由到 bar/ 应用程序并从那里返回一些东西。最好有一个调试器来告诉我尝试解决的顺序是什么,以便我可以查明问题。
标签: django debugging django-urls