自定义Django 404页面和Django调试页面

Chr*_*ris 3 apache django django-settings http-status-code-404

我正在部署一个Django网页,我喜欢Django Debug 404页面和Django页面,当有python错误时.但是,这些不适合上网的网页.所以我做了一个自定义的404页面.但是,对我和我的IP地址,我想仍然有Django Debug页面出现.如果我将Debug设置为false,是否还有这样做?

and*_*lme 6

您可以通过在urlconf中设置handler404来定义自己的404s处理程序视图.默认的handler404 django.views.defaults.page_not_found,基本上只是渲染404.html模板.

如果你把它放在你的urlconf中,它将显示某个IP的"技术"404响应(漂亮的黄色页面),并使用Django的默认404生产视图用于其他IP:

import sys
from django.views.debug import technical_404_response
from django.views.defaults import page_not_found

def handler404(request):
    if request.META['REMOTE_ADDR'] == 'YOUR_IP_ADDRESS':
        exc_type, exc_value, tb = sys.exc_info()
        return technical_404_response(request, exc_value)
    else:
        return page_not_found(request)
Run Code Online (Sandbox Code Playgroud)

我建议你为404错误设置正确的日志记录.对于您可以指定的规则,Django可以在您的生产环境中为您发送电子邮件或记录404和例外情况.

请参阅有关错误报告日志记录的文档(1.3中添加了日志记录框架)