【问题标题】:Django is returning RuntimeError instead of 404Django 返回 RuntimeError 而不是 404
【发布时间】:2011-05-04 20:37:47
【问题描述】:

在我的 Django 项目中,当我应该得到 404 时遇到了 RUNtimeError。描述说:

异常值:超出最大递归深度

该错误仅在我尝试访问不存在的页面时发生(正确的结果应该是 404 页面,不是吗?)。这是 Django 错误还是我的错?如果需要,我会提供更多信息。

编辑:我尝试过同步数据库(实际上是删除数据库并从头开始同步)、重新启动服务器,甚至注释掉所有 urls.py 文件中的所有 urlpatterns

编辑:这就是回溯的样子:

get_response 中的文件“/usr/lib/pymodules/python2.6/django/core/handlers/base.py” 83.request.path_info) 解析中的文件“/usr/lib/pymodules/python2.6/django/core/urlresolvers.py” 218. sub_match = pattern.resolve(新路径) 解析中的文件“/usr/lib/pymodules/python2.6/django/core/urlresolvers.py” 218. sub_match = pattern.resolve(新路径) 解析中的文件“/usr/lib/pymodules/python2.6/django/core/urlresolvers.py” 218. sub_match = pattern.resolve(新路径)

最后几行是:

解析中的文件“/usr/lib/pymodules/python2.6/django/core/urlresolvers.py” 218. sub_match = pattern.resolve(新路径) 解析中的文件“/usr/lib/pymodules/python2.6/django/core/urlresolvers.py” 216. 对于 self.url_patterns 中的模式: _get_url_patterns 中的文件“/usr/lib/pymodules/python2.6/django/core/urlresolvers.py” 245.模式=getattr(self.urlconf_module,“urlpatterns”,self.urlconf_module)

【问题讨论】:

  • 需要更多信息。听起来您的代码陷入了循环,并且在某处一遍又一遍地重复。
  • 如果urls.py 中没有任何内容,是否会调用任何函数?
  • 如果您在 urlpatterns 中没有任何 url,它应该说“It Works”,也就是 django 默认值。你的设置可能有问题,检查settings.py中的ROOT_URLCONF
  • 感谢 Louis,问题确实出在settings.py,我尝试从头开始构建一个,它可以工作。如果你回答我会接受它:)

标签: python django http-status-code-404 runtime-error


【解决方案1】:

我猜这是你的错:)。我昨天也有一个 RuntimeError 。这是在继承 ModelAdmin 类时,将错误的类作为 super 方法的参数而引起的。

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)
        ...

我不知道你是否有同样的问题,但需要检查一下。

希望对你有帮助

【讨论】:

    【解决方案2】:

    尝试不加载所有中间件模块,只需在设置中将它们全部注释掉,看看问题是否存在。

    【讨论】:

      猜你喜欢
      • 2018-12-27
      • 1970-01-01
      • 2018-06-28
      • 2017-10-26
      • 2020-06-07
      • 2020-11-12
      • 2018-12-05
      • 2018-06-16
      • 1970-01-01
      相关资源
      最近更新 更多