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使用ntplib库同步校准当地时间的方法
Jul 02 Python
python strip() 函数和 split() 函数的详解及实例
Feb 03 Python
Python配置mysql的教程(推荐)
Oct 13 Python
Python3实现发送QQ邮件功能(html)
Dec 15 Python
python使用__slots__让你的代码更加节省内存
Sep 05 Python
python文件拆分与重组实例
Dec 10 Python
对Python中创建进程的两种方式以及进程池详解
Jan 14 Python
python3去掉string中的标点符号方法
Jan 22 Python
Python socket非阻塞模块应用示例
Sep 12 Python
最小二乘法及其python实现详解
Feb 24 Python
Python使用urlretrieve实现直接远程下载图片的示例代码
Aug 17 Python
python获取天气接口给指定微信好友发天气预报
Dec 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
PHP 批量更新网页内容实现代码
2010/01/05 PHP
Discuz Uchome ajaxpost小技巧
2011/01/04 PHP
比较简单实用的PHP无限分类源码分享(思路不错)
2011/10/13 PHP
PHP实现返回JSON和XML的类分享
2015/01/28 PHP
php实现微信公众号主动推送消息
2015/12/31 PHP
php中的explode()函数实例介绍
2019/01/18 PHP
jquery 必填项判断表单是否为空的方法
2008/09/14 Javascript
深入理解JavaScript是如何实现继承的
2013/12/12 Javascript
javascript中全局对象的parseInt()方法使用介绍
2013/12/19 Javascript
jQuery的DOM操作之删除节点示例
2014/01/03 Javascript
原生javascript实现无间缝滚动示例
2014/01/28 Javascript
Javascript 数组排序详解
2014/10/22 Javascript
教你如何使用node.js制作代理服务器
2014/11/26 Javascript
Jquery树插件zTree实现菜单树
2017/01/24 Javascript
浅谈vue.js导入css库(elementUi)的方法
2018/03/09 Javascript
Vue开发之封装分页组件与使用示例
2019/04/25 Javascript
vuex实现数据状态持久化
2019/11/11 Javascript
Python中的条件判断语句基础学习教程
2016/02/07 Python
使用PyInstaller将Python程序文件转换为可执行程序文件
2016/07/08 Python
利用Python实现微信找房机器人实例教程
2019/03/10 Python
使用python 写一个静态服务(实战)
2019/06/28 Python
python读文件的步骤
2019/10/08 Python
自定义Django默认的sitemap站点地图样式
2020/03/04 Python
为你的html5网页添加音效示例
2014/04/03 HTML / CSS
有模特经验的简历自我评价
2013/09/19 职场文书
公司司机岗位职责范本
2014/03/03 职场文书
大学英语专业求职信
2014/06/21 职场文书
企业员工集体活动方案
2014/08/17 职场文书
出差报告格式模板
2014/11/06 职场文书
2014年高三班主任工作总结
2014/12/05 职场文书
自荐信格式模板
2015/03/27 职场文书
元宵节晚会主持词
2015/07/01 职场文书
2016年元旦寄语
2015/08/17 职场文书
初中历史教学反思
2016/02/19 职场文书
职工趣味运动会开幕词
2016/03/04 职场文书
超级实用的公文标题大全!
2019/07/19 职场文书