Python Django返回的是RuntimeError,而不是404
在我的Django项目中,当我应该得到404时,我出现了运行时错误。描述说: 异常值:超过最大递归深度 只有当我尝试访问一个不存在的页面时才会发生错误(正确的结果是404页面,不是吗?)。这是Django bug还是我的错?如果需要,我会提供更多信息 编辑:我尝试过同步数据库(实际上是删除数据库并从头开始同步),重新启动服务器,甚至注释掉所有Python Django返回的是RuntimeError,而不是404,python,django,http-status-code-404,runtime-error,Python,Django,Http Status Code 404,Runtime Error,在我的Django项目中,当我应该得到404时,我出现了运行时错误。描述说: 异常值:超过最大递归深度 只有当我尝试访问一个不存在的页面时才会发生错误(正确的结果是404页面,不是吗?)。这是Django bug还是我的错?如果需要,我会提供更多信息 编辑:我尝试过同步数据库(实际上是删除数据库并从头开始同步),重新启动服务器,甚至注释掉所有urls.py文件中的所有urlpatterns 编辑:这是回溯的样子: File "/usr/lib/pymodules/python2.6/django
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)
get_响应中的文件“/usr/lib/pymodules/python2.6/django/core/handlers/base.py”
83请求路径(信息)
解析中的文件“/usr/lib/pymodules/python2.6/django/core/urlresolvers.py”
218子匹配=模式解析(新路径)
解析中的文件“/usr/lib/pymodules/python2.6/django/core/urlresolvers.py”
218子匹配=模式解析(新路径)
解析中的文件“/usr/lib/pymodules/python2.6/django/core/urlresolvers.py”
218子匹配=模式解析(新路径)
最后几行是:
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)
解析中的文件“/usr/lib/pymodules/python2.6/django/core/urlresolvers.py”
218子匹配=模式解析(新路径)
解析中的文件“/usr/lib/pymodules/python2.6/django/core/urlresolvers.py”
216对于self.url_模式中的模式:
文件“/usr/lib/pymodules/python2.6/django/core/urlsolvers.py”位于\u get\u url\u模式中
245patterns=getattr(self.urlconf_模块,“urlpatterns”,self.urlconf_模块)
我想这是你的错:)。昨天我也有一个运行时错误。这是由于在继承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)
...
我不知道你是否有同样的问题,但需要检查一下
我希望这会有所帮助。试着不要加载所有中间件模块,只需在设置中对它们进行注释,看看问题是否存在。需要更多信息。听起来你的代码好像遇到了一个循环,并且在某个地方一遍又一遍地重复。如果我在
url.py
中没有任何内容,是否会调用任何函数?如果你在urlpatterns中没有任何URL,它应该说“it Works”,也就是django默认值。您的设置中可能有问题,请检查settings.py中的ROOT_URLCONF。问题确实出在settings.py中,我尝试从头开始构建一个,它可以正常工作。如果你回答,我会接受:)