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中的字符串知识点
Apr 14 Python
Python内置数据结构与操作符的练习题集锦
Jul 01 Python
Python批量更改文件名的实现方法
Oct 29 Python
python使用os.listdir和os.walk获得文件的路径的方法
Dec 16 Python
详解python多线程、锁、event事件机制的简单使用
Apr 27 Python
python实现根据文件关键字进行切分为多个文件的示例
Dec 10 Python
分享Python切分字符串的一个不错方法
Dec 14 Python
python实现顺时针打印矩阵
Mar 02 Python
Python两台电脑实现TCP通信的方法示例
May 06 Python
python爬虫之快速对js内容进行破解
Jul 09 Python
基于python中__add__函数的用法
Nov 25 Python
Python装饰器用法与知识点小结
Mar 09 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
无线电波是什么?它是怎样传输的?
2021/03/01 无线电
thinkphp3.0 模板中函数的使用
2012/11/13 PHP
深入解读php中关于抽象(abstract)类和抽象方法的问题分析
2014/01/03 PHP
PHP基于PDO调用sqlserver存储过程通用方法【基于Yii框架】
2017/10/07 PHP
微信公众平台开发教程③ PHP实现微信公众号支付功能图文详解
2019/04/10 PHP
thinkPHP5.1框架使用SemanticUI实现分页功能示例
2019/08/03 PHP
Laravel解决nesting level错误和隐藏index.php的问题
2019/10/12 PHP
javascript 动态参数判空操作
2008/12/22 Javascript
js 判断js函数、变量是否存在的简单示例代码
2014/03/04 Javascript
10条建议帮助你创建更好的jQuery插件
2015/05/18 Javascript
JS如何判断是否为ie浏览器的方法(包括IE10、IE11在内)
2015/12/13 Javascript
JS获取IMG图片高宽的简单实例
2016/05/17 Javascript
JavaScript核心语法总结(推荐)
2016/06/02 Javascript
Bootstrap前端开发案例一
2016/06/17 Javascript
Google 地图类型详解及示例代码
2016/08/06 Javascript
jquery实现图片轮播器
2017/05/23 jQuery
webpack配置之后端渲染详解
2017/10/26 Javascript
微信小程序版翻牌小游戏
2018/01/26 Javascript
2019 年编写现代 JavaScript 代码的5个小技巧(小结)
2019/01/15 Javascript
深入解析koa之异步回调处理
2019/06/17 Javascript
Ant Design Vue 添加区分中英文的长度校验功能
2020/01/21 Javascript
[01:16:37]【全国守擂赛】第三周决赛 Dark Knight vs. 一个弱队
2020/05/04 DOTA
python数据库操作常用功能使用详解(创建表/插入数据/获取数据)
2013/12/06 Python
详解Python中dict与set的使用
2015/08/10 Python
澳大利亚设计师服装在线:MISHA
2019/10/07 全球购物
乌克兰数字设备、配件和智能技术的连锁商店:KTC
2020/08/18 全球购物
正宗的澳大利亚Ugg靴子零售商:UGG Express
2020/04/19 全球购物
优秀教师工作感言
2014/02/16 职场文书
初三开学计划书
2014/04/27 职场文书
环境保护与污染治理求职信
2014/07/16 职场文书
信息合作协议书
2014/10/09 职场文书
王金山在党的群众路线教育实践活动总结大会上的讲话稿
2014/10/25 职场文书
政风行风整改报告
2014/11/06 职场文书
关于元旦的广播稿2016
2015/12/17 职场文书
python实现大文本文件分割成多个小文件
2021/04/20 Python
JS实现简单九宫格抽奖
2022/06/28 Javascript