Chr*_*ris 3 apache django django-settings http-status-code-404
我正在部署一个Django网页,我喜欢Django Debug 404页面和Django页面,当有python错误时.但是,这些不适合上网的网页.所以我做了一个自定义的404页面.但是,对我和我的IP地址,我想仍然有Django Debug页面出现.如果我将Debug设置为false,是否还有这样做?
您可以通过在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中添加了日志记录框架)