Django是返回,而不是404
问题描述:
在我有我的RUntimeError Django项目RuntimeError时,我应该得到一个404的描述说:Django是返回,而不是404
异常值:最大递归深度超过
只有当我尝试访问一个不存在的页面(正确的结果是一个404页面不是吗?)时才会出现此错误。这是Django的bug还是我的错?如果需要,我会提供更多信息。
编辑:我曾尝试同步数据库(实际上删除数据库,并从头开始同步它),重新启动服务器,甚至注释掉所有urls.py
文件中的所有urlpatterns
。
编辑:这是回溯的样子:
File "/usr/lib/pymodules/python2.6/django/core/handlers/base.py" in get_response 83. request.path_info) File "/usr/lib/pymodules/python2.6/django/core/urlresolvers.py" in resolve 218. sub_match = pattern.resolve(new_path) File "/usr/lib/pymodules/python2.6/django/core/urlresolvers.py" in resolve 218. sub_match = pattern.resolve(new_path) File "/usr/lib/pymodules/python2.6/django/core/urlresolvers.py" in resolve 218. sub_match = pattern.resolve(new_path)
而最后几行是:
File "/usr/lib/pymodules/python2.6/django/core/urlresolvers.py" in resolve 218. sub_match = pattern.resolve(new_path) File "/usr/lib/pymodules/python2.6/django/core/urlresolvers.py" in resolve 216. for pattern in self.url_patterns: File "/usr/lib/pymodules/python2.6/django/core/urlresolvers.py" in _get_url_patterns 245. patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
答
我想这是你的过错:)。我也有一个RuntimeError yesteday。这是由于在继承ModelAdmin类时将错误的类作为超类方法的参数而导致的。
class MyAdmin(admin.ModelAdmin):
def queryset(self, request):
qs = super(AnotherAdmin, self).queryset(request)
...
我固定的:
class MyAdmin(admin.ModelAdmin):
def queryset(self, request):
qs = super(MyAdmin, self).queryset(request)
...
我不知道你是否有同样的问题,但它是值得检查。
我希望它能帮助
答
尽量不要加载所有的中间件模块,只是他们评论中的所有设置,看看问题是否有什么地方。
需要更多信息。听起来就像你的代码跑进了一个循环,并且一直在某处重复着自己。如果我在'urls.py'中没有任何东西, – Louis 2010-11-04 03:02:26
是否会调用任何函数? – phunehehe 2010-11-04 03:05:52
如果您在urlpatterns中没有任何url,则应该说“It Works”又名django默认值。在你的设置中可能有问题,请检查ROOT_URLCONF中的settings.py – Louis 2010-11-04 03:36:23