自定义404页面(自定义404错误页面)

网友投稿 287 2022-06-19


1.在setting.py中,将DEBUG改为False,否则不会生效

ALLOWED_HOSTS = ['*']

DEBUG = False # 生产环境一定要改为False

2.DEBUG为False后,会导致静态资源的路径(STATIC_URL)失效,

简单的做法,在开发时:

启动时使用python manage.py runserver --insecure,以不安全模式运行即可加载静态文件

复杂的方法(django2.2.7,会导致404页面的静态资源的图片无法加载)

setting.py

STATIC_ROOT = os.path.join(BASE_DIR, '/static/')

# STATIC_ROOT = os.path.join(BASE_DIR, 'static') 会引起ERROR

urls.py

from EduOnline.settings import STATIC_ROOT

...

re_path('static/(?P.+)', serve,{'document_root':STATIC_ROOT}),

...

handler404 = "appname.views.page_not_found"

3.定义返回404页面的函数

from django.shortcuts import render,render_to_response

def page_not_found(request,exception=404): # 2.2 版本增加了一个参数exception

return render(request, '404.html')

#低版本写法

def page_not_found(request):

response = render_to_response('404.html',{})

response.status_code = 404

return response


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Appium移动端测试--基础预热(appium安卓自动化测试)
下一篇:python redis模块详解(python的析构方法是)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~