37、Django实战第37天:404以及500页面配置
1、把404.html,500.html复制到templates下,替换静态文件路径
2、编辑users.views.py定义404,505函数
from django.shortcuts import render_to_response ... def page_not_found(request):
"""
404处理函数
"""
response = render_to_response('404.html', {})
response.status_code = 404
return response def server_error(request):
"""
500处理函数
"""
response = render_to_response('500.html', {})
response.status_code = 500
return response
2、配置url,编辑mxonline.usrls.py,尾部添加
... #全局404页面配置
handler404 = 'users.views.page_not_found' #全局500页面配置
handler500 = 'users.views.server_error'
现在访问一个不存在页面,发现没有跳转到我们自己设置404页面???
这是因为我们的settings中配置了DEBUG=True,如果开启了DEBUG,我们自己配置的404是不起作用的,在生产环境中我们需要要DEBUG=False,不然的话会暴露我们网站的很多关键信息
修改settings.py

现在重新测试访问一个不存在的页面,成功跳转到我们指定的404页面,但是图片却找不到???查看首页样式和除了用户上传的图片也找不到了???

原因:
1、用户上传的图片能够找到是因为我们之前配置过上传文件的路径,我们并没有通过url来直接访问,而是通过serve来取
2、当我们把DEBUG=True的时候,/static下面的文件会根据settings.py中的设置自动去找
STATIC_URL = '/static/'
STATICFILES_DIRS = (
os.path.join(BASE_DIR, 'static'),
)
3、一旦我们把DEBUG=False的时候,上面的配置就自动失效,Django不会代管/static的访问
解决:我们可以和media一样自己配置url处理
编辑settings.py

编辑mxonline.urls.py
from mxonline.settings import MEDIA_ROOT, STATIC_ROOT
... urlpatterns = [
...
# 样式图片访问
url(r'static/(?P<path>.*)$', serve, {'document_root': STATIC_ROOT}), ]
现在访问正常了..
当我们访问后台xadmin的时候,后台的样式又不正常了!!!
这是因为上面我们配置了,它会去/static那里去找,而不会去/xadmin/static,因为我们系统还没开发完,所以先把上面做的配置都注释掉,恢复到开发模式
37、Django实战第37天:404以及500页面配置的更多相关文章
- 第三百九十一节,Django+Xadmin打造上线标准的在线教育平台—404,403,500页面配置
第三百九十一节,Django+Xadmin打造上线标准的在线教育平台—404,403,500页面配置 路由映射在全局也就是根目录里的urls.py里配置404路由映射 注意:不是写在urlpatter ...
- django 配置404,500页面
JSP CURL session COOKIE diango 自定义404 500页面 1.首先将settings设置debug=false; 2.设置static路径 ...
- django自定义404和500页面
from django.contrib import admin from django.urls import path urlpatterns = [ path('admin/', admin.s ...
- [Django实战] 第3篇 - 用户认证(初始配置)
当大家打开一个网站时,第一步做什么?大部分一定是先登录吧,所以我们就从用户认证开始. 打开用户认证 Django本身已经提供了用户认证模块,使用它可以大大简化用户认证模块的开发,默认情况下,用户认证模 ...
- Spring boot配置404、500页面
Spring boot 配置404页面很简单,如果你访问的url没有找到就会出现spring boot 提示的页面,很明显Spring boot不用配置就可以显示404页面了. 在template下创 ...
- Django-项目上线后,静态文件配置失效以及404、500页面的全局配置
https://blog.csdn.net/Jamin2018/article/details/79060509 https://www.cnblogs.com/lfoder/p/6013142.ht ...
- Python django 404页面配置和debug=false 静态文件配置 django版本1.10.5
django设置404页面 1.设置settings文件 DEBUG = False ALLOWED_HOSTS = ['127.0.0.1', 'localhost']或者 ALLOWED_HOST ...
- django的404,500错误自定义页面的配置
django404,500错误自定义页面: 1.设置settings文件 DEBUG = False ALLOWED_HOSTS = ['127.0.0.1', 'localhost']或者ALLOW ...
- springboot 2.x处理404、500等异常
404错误 404错误是不经过Controller的,所以使用@ControllerAdvice或@RestControllerAdvice无法获取到404错误 springboot2处理404错误的 ...
随机推荐
- Hadoop 学习之MapReduce
MapReduce充分利用了分而治之,主要就是将一个数据量比较大的作业拆分为多个小作业的框架,而用户需要做的就是决定拆成多少份,以及定义作业本身,用户所要做的操作少了又少,真是Very Good! 一 ...
- linux bash学习(一)
1.请你以 read 指令的用途,撰写一个 script ,他可以让使用者输入:1. first name 与 2. last name, 最后并且在屏幕上显示:“Your full name is: ...
- es6+最佳入门实践(9)
9.Iterator和for...of 9.1.Iterator是什么? Iterator又叫做迭代器,它是一种接口,为各种不同的数据结构提供统一的访问机制.这里说的接口可以形象的理解为USB接口,有 ...
- 【洛谷 P1337】[JSOI2004]平衡点 / 吊打XXX (模拟退火)
题目链接 正解就算了吧,谁叫我理生化 语数外 政史地都菜呢 模拟退火真玄学,不知道发生了什么就跑出答案了,原理就算了吧,能用(pianfen)就好. 当重物平衡时,势能一定是最小的,于是当我随机出一个 ...
- DP+贪心水题合集_C++
本文含有原创题,涉及版权利益问题,严禁转载,违者追究法律责任 本次是最后一篇免费的考试题解,以后的考试题目以及题解将会以付费的方式阅读,题目质量可以拿本次作为参考 本来半个月前就已经搞得差不多了,然后 ...
- bzoj 1060 贪心
设根到每个叶子节点的距离为dis,比较容易的看出来,我们需要把这颗树的所有叶子节点的值都变成其中最大的内个,我们设为max,那么对于一颗子树来说,设其中dis值最大的为x,我们需要将这个子树根节点和子 ...
- JSON的序列化和反序列化eval()和parse()方法以及stringfy()方法
1.json解析的方法有两种:eval()和parse()方法 eval() 较危险,不光解析了字符串,还解析了js方法,无论何时用eval()都是非常危险的.-----不建议使用JSON.parse ...
- HDU1143(3*N的地板铺1*2的砖)
Tri Tiling Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total ...
- 【反演复习计划】【bzoj4407】于神之怒加强版
#include<bits/stdc++.h> #define N 5000010 #define yql 1000000007 using namespace std; typedef ...
- SQlServer的日期相减(间隔)datediff函数
select datediff(year, 开始日期,结束日期); --两日期间隔年 select datediff(quarter, 开始日期,结束日期); --两日期间隔季 select da ...