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使用scrapy采集数据过程中放回下载过大页面的方法
Apr 08 Python
解决出现Incorrect integer value: '' for column 'id' at row 1的问题
Oct 29 Python
对TensorFlow的assign赋值用法详解
Jul 30 Python
对python mayavi三维绘图的实现详解
Jan 08 Python
python安装pywin32clipboard的操作方法
Jan 24 Python
Python 使用matplotlib模块模拟掷骰子
Aug 08 Python
python使用多线程编写tcp客户端程序
Sep 02 Python
Django REST框架创建一个简单的Api实例讲解
Nov 05 Python
PyTorch中的C++扩展实现
Apr 02 Python
Python爬虫爬取糗事百科段子实例分享
Jul 31 Python
python读写数据读写csv文件(pandas用法)
Dec 14 Python
PyQt5 QThread倒计时功能的实现代码
Apr 02 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 修改、增加xml结点属性的实现代码
2013/10/22 PHP
php采集中国代理服务器网的方法
2015/06/16 PHP
PHP树-不需要递归的实现方法
2016/06/21 PHP
Thinkphp实现短信验证注册功能
2016/10/18 PHP
php面向对象基础详解【星际争霸游戏案例】
2020/01/23 PHP
PHP实现Snowflake生成分布式唯一ID的方法示例
2020/08/30 PHP
extjs之去除s.gif的影响
2010/12/25 Javascript
jquery isEmptyObject判断是否为空对象的函数
2011/02/14 Javascript
jquery实现背景墙聚光灯效果示例分享
2014/03/02 Javascript
js实现点击添加一个input节点
2014/12/05 Javascript
关于JS中setTimeout()无法调用带参函数问题的解决方法
2016/06/21 Javascript
js实现日历与定时器
2017/02/22 Javascript
vue中的模态对话框组件实现过程
2018/05/01 Javascript
JavaScript显式数据类型转换详解
2019/03/18 Javascript
JS实现电商商品展示放大镜特效
2020/01/07 Javascript
javascript实现计算器功能
2020/03/30 Javascript
vue 页面跳转的实现方式
2021/01/12 Vue.js
[04:11]DOTA2亚洲邀请赛小组赛第一日 TOP10精彩集锦
2015/01/30 DOTA
如何在Python函数执行前后增加额外的行为
2016/10/20 Python
DataFrame 将某列数据转为数组的方法
2018/04/13 Python
python2 与 python3 实现共存的方法
2018/07/12 Python
Python安装Flask环境及简单应用示例
2019/05/03 Python
使用Python OpenCV为CNN增加图像样本的实现
2019/06/10 Python
python或C++读取指定文件夹下的所有图片
2019/08/31 Python
pandas将多个dataframe以多个sheet的形式保存到一个excel文件中
2019/10/10 Python
使用python实现对元素的长截图功能
2019/11/14 Python
Python实现投影法分割图像示例(一)
2020/01/17 Python
Django模板标签中url使用详解(url跳转到指定页面)
2020/03/19 Python
Python局部变量与全局变量区别原理解析
2020/07/14 Python
python批量修改交换机密码的示例
2020/09/22 Python
西班牙香水和化妆品连锁店:Druni
2019/05/05 全球购物
五年级学生评语
2014/04/22 职场文书
计生专干事迹
2014/05/28 职场文书
推普周国旗下讲话稿
2014/09/21 职场文书
房地产销售经理岗位职责
2015/02/02 职场文书
oracle删除超过N天数据脚本的方法
2022/02/28 Oracle