Application Behavior在工作页面上返回404

时间:2013-10-01 18:27:28

标签: python django

我已配置

handler404 = 'myapp.views.error404'

定义:

def error404(request):
        print "404 - Page"
        return render(request, request.LANGUAGE_CODE + "/404.html" , status=404 )
URL调度程序中的

- 工作正常。但是我在终端中看到每个请求都有404-Page消息,但只有当我输入错误的URL时才会被重定向到404.html。

此行为的任何重大原因。

1 个答案:

答案 0 :(得分:0)

对于那些没有阅读评论的人(已经给出部分答复):

404错误可能由页面请求之外的其他内容触发:损坏的图像,favicon,css,js ......例如,如果您请求/static/my_file.css
如果您的Web服务器无法提供静态文件并将请求重定向到您的Django应用程序,它也将失败,并返回错误页面。

查看调用句柄的原因的方法是显示当前请求的request.path,以查看调用的URL:

def error404(request):
    print "404 - URL: ", request.path
    return render(request, request.LANGUAGE_CODE + "/404.html" , status=404)

当您部署项目并且静态文件存在问题时,这种情况很常见:)