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的Urllib库的一些高级用法
Apr 30 Python
Python 多进程和数据传递的理解
Oct 09 Python
Python简单生成随机姓名的方法示例
Dec 27 Python
python实现批量解析邮件并下载附件
Jun 19 Python
python 求某条线上特定x值或y值的点坐标方法
Jul 09 Python
python Plotly绘图工具的简单使用
Mar 03 Python
Python数据正态性检验实现过程
Apr 18 Python
终于搞懂了Keras中multiloss的对应关系介绍
Jun 22 Python
keras 两种训练模型方式详解fit和fit_generator(节省内存)
Jul 03 Python
python爬虫scrapy基本使用超详细教程
Feb 20 Python
pandas统计重复值次数的方法实现
Feb 20 Python
Python几种酷炫的进度条的方式
Apr 11 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
php获取从百度搜索进入网站的关键词的详细代码
2014/01/08 PHP
php实现在限定区域里自动调整字体大小的类实例
2015/04/02 PHP
php 可变函数使用小结
2018/06/12 PHP
tp5实现微信小程序多图片上传到服务器功能
2018/07/16 PHP
PHP get_html_translation_table()函数用法讲解
2019/02/16 PHP
PHP使用mysqli同时执行多条sql查询语句的实例
2019/03/22 PHP
php实现的顺序线性表示例
2019/05/04 PHP
PHP7 其他修改
2021/03/09 PHP
用JavaScript脚本实现Web页面信息交互
2006/10/11 Javascript
jQuery技巧之让任何组件都支持类似DOM的事件管理
2016/04/05 Javascript
详解Angular2中的编程对象Observable
2016/09/17 Javascript
jQuery实现获取元素索引值index的方法
2016/09/18 Javascript
Bootstrap中定制LESS-颜色及导航条(推荐)
2016/11/21 Javascript
BootStrap Datetimepicker 汉化的实现代码
2017/02/10 Javascript
jquery判断滚动条距离顶部的距离方法
2018/09/05 jQuery
JavaScript的词法结构精华篇
2018/10/17 Javascript
JavaScript原型对象原理与应用分析
2018/12/27 Javascript
深入了解JavaScript代码覆盖
2019/06/13 Javascript
Vue使用mixin分发组件的可复用功能
2019/09/01 Javascript
[49:58]完美世界DOTA2联赛PWL S3 Magma vs DLG 第一场 12.18
2020/12/19 DOTA
python多线程用法实例详解
2015/01/15 Python
Python自动化测试Eclipse+Pydev 搭建开发环境
2016/08/15 Python
使用pandas对矢量化数据进行替换处理的方法
2018/04/11 Python
Python基础知识点 初识Python.md
2019/05/14 Python
Python入门基础之数字字符串与列表
2021/02/01 Python
Pycharm 跳转回之前所在页面的操作
2021/02/05 Python
上级检查欢迎词
2014/01/18 职场文书
大学生未来职业生涯规划书
2014/02/15 职场文书
农民工预备党员思想汇报
2014/09/14 职场文书
煤矿安全生产管理协议书
2016/03/22 职场文书
让人感觉高大上的讲话稿怎么写?
2019/07/08 职场文书
创业计划书之家教中心
2019/09/25 职场文书
python如何获取网络数据
2021/04/11 Python
详解Laravel制作API接口
2021/05/31 PHP
Python内置数据类型中的集合详解
2022/03/18 Python
Linux中如何安装并部署Redis
2022/04/18 Servers