Django 404、500页面全局配置知识点详解


Posted in Python onMarch 10, 2020

django版本为2.2.7,全局配置404、500页面,解决静态文件路径等问题

urls中编写

urlpatterns = [
 ..............
]
handler404 = 'first.views.page_not_found' #handler404为固定写法,first.views.page_not_found为404处理函数的位置
handler500 = 'first.views.page_error' #同上

指定的views中

#全局404
def page_not_found(request,exception):
  from django.shortcuts import render_to_response
  response = render_to_response('first/404.html',{}) #first/404.html html页面
  response.status_code = 404
  return response

#全局500
def page_error(exception):
  from django.shortcuts import render_to_response
  response = render_to_response('first/500.html',{})
  response.status_code = 500
  return response

保存运行 在地址栏输入一个不存在的页面

Django 404、500页面全局配置知识点详解

会发现并没有进入我们的配置,这需要我们在settings中进行配置

找到下发这个

# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True
ALLOWED_HOSTS = []

修改为

DEBUG = False #关闭debug模式 这时为生产模式,在将项目部署到服务器时也需要关闭,debug模式会暴露站点的多种信息
ALLOWED_HOSTS = ['*'] # * 为所有都可访问,部署服务器时需修改

保存后运行

Django 404、500页面全局配置知识点详解

进入了配置,但按下F12发现所有的静态文件如css、js、图片等都没找到,都是404

再进入settings文件,因为我们开启了生产模式所以Django不再代理静态文件,可以通过配置来再次代理

找到我们曾经写的media及static配置

MEDIA_URL = '/media/' 
MEDIA_ROOT = os.path.join(BASE_DIR, "media")
STATIC_URL = '/static/'
STATICFILES_DIRS =[
  os.path.join(BASE_DIR, 'static'),
]
将
STATICFILES_DIRS =[
  os.path.join(BASE_DIR, 'static'),
] 注释
增加
STATIC_ROOT = os.path.join(BASE_DIR,'static')
保存后在URLS中添加
from django.urls import path,re_path
from tlmzp.settings import MEDIA_ROOT,STATIC_ROOT
from django.views.static import serve
urlpatterns = [
  ..................
  re_path(r'^media/(?P<path>.*)$', serve, {'document_root': MEDIA_ROOT}), #media文件
  re_path(r'^static/(?P<path>.*)$', serve, {'document_root': STATIC_ROOT}),#static文件
]

保存后刷新页面

Django 404、500页面全局配置知识点详解

所有的静态文件就都加载了

到此这篇关于Django 404、500页面全局配置知识点详解的文章就介绍到这了,更多相关Django 404、500页面全局配置内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python获取文件版本信息、公司名和产品名的方法
Oct 05 Python
Pthon批量处理将pdb文件生成dssp文件
Jun 21 Python
python通过socket查询whois的方法
Jul 18 Python
itchat和matplotlib的结合使用爬取微信信息的实例
Aug 25 Python
python中实现精确的浮点数运算详解
Nov 02 Python
Python实现扣除个人税后的工资计算器示例
Mar 26 Python
python中的turtle库函数简单使用教程
Jul 23 Python
Python3.4学习笔记之常用操作符,条件分支和循环用法示例
Mar 01 Python
python 将字符串中的数字相加求和的实现
Jul 18 Python
python3 自动打印出最新版本执行的mysql2redis实例
Apr 09 Python
Python基于pip实现离线打包过程详解
May 15 Python
小结Python的反射机制
Sep 28 Python
python使用gdal对shp读取,新建和更新的实例
Mar 10 #Python
Python实现获取当前目录下文件名代码详解
Mar 10 #Python
python爬虫开发之使用python爬虫库requests,urllib与今日头条搜索功能爬取搜索内容实例
Mar 10 #Python
python+gdal+遥感图像拼接(mosaic)的实例
Mar 10 #Python
python获取栅格点和面值的实现
Mar 10 #Python
Python列表切片常用操作实例解析
Mar 10 #Python
Python numpy多维数组实现原理详解
Mar 10 #Python
You might like
基于wordpress主题制作的具体实现步骤
2013/05/10 PHP
解析smarty 截取字符串函数 truncate的用法介绍
2013/06/20 PHP
PHP反射原理与用法深入分析
2019/09/28 PHP
详解PHP中curl_multi并发的实现
2020/06/08 PHP
JS无限树状列表实现代码
2011/01/11 Javascript
jQuery操作select的实例代码
2012/06/14 Javascript
event对象获取方法总结在google浏览器下测试
2013/11/03 Javascript
javascript获取四位数字或者字母的随机数
2015/01/09 Javascript
JavaScript数据结构和算法之图和图算法
2015/02/11 Javascript
通过实例理解javascript中没有函数重载的概念
2015/06/03 Javascript
纯javascript实现四方向文本无缝滚动效果
2015/06/16 Javascript
JS基于Mootools实现的个性菜单效果代码
2015/10/21 Javascript
Javascript实现Array和String互转换的方法
2015/12/21 Javascript
原生javascript实现解析XML文档与字符串
2016/03/01 Javascript
浅谈js中的延迟执行和定时执行
2016/05/31 Javascript
js监听input输入框值的实时变化实例
2017/01/26 Javascript
JavaScript实现树的遍历算法示例【广度优先与深度优先】
2017/10/26 Javascript
vue router+vuex实现首页登录验证判断逻辑
2018/05/17 Javascript
JavaScript事件冒泡与事件捕获实例分析
2018/08/01 Javascript
微信小程序onLaunch异步,首页onLoad先执行?
2018/09/20 Javascript
Weex开发之WEEX-EROS开发踩坑(小结)
2019/10/16 Javascript
Echarts.js无法引入问题解决方案
2020/10/30 Javascript
vue el-upload上传文件的示例代码
2020/12/21 Vue.js
[57:47]Fnatic vs Winstrike 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
[01:33:25]DOTA2-DPC中国联赛 正赛 Elephant vs IG BO3 第一场 1月24日
2021/03/11 DOTA
介绍Python中的一些高级编程技巧
2015/04/02 Python
关于Python 3中print函数的换行详解
2017/08/08 Python
K-means聚类算法介绍与利用python实现的代码示例
2017/11/13 Python
Python设计模式之解释器模式原理与用法实例分析
2019/01/10 Python
20行代码教你用python给证件照换底色的方法示例
2021/02/05 Python
使用HTML5 Geolocation实现一个距离追踪器
2018/04/09 HTML / CSS
共产党员承诺书
2014/03/25 职场文书
学校周年庆活动方案
2014/08/22 职场文书
党的群众路线领导班子整改方案
2014/09/27 职场文书
电影圆明园观后感
2015/06/03 职场文书
小学见习报告
2015/06/23 职场文书