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

 更新时间:2020年03月10日 15:00:06   作者:shance-丁多斌  
在本篇文章里小编给大家整理了关于Django 404、500页面全局配置知识点详解,需要的朋友们可以学习下。

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

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

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

找到下发这个

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

修改为

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

保存后运行

进入了配置,但按下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页面全局配置内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:

相关文章

  • Python实现字符串匹配的KMP算法

    Python实现字符串匹配的KMP算法

    KMP算法的关键是利用匹配失败后的信息,尽量减少模式串与主串的匹配次数以达到快速匹配的目的。这篇文章主要介绍了Python实现字符串匹配的KMP算法,需要的朋友可以参考下
    2019-04-04
  • python如何使用split多字符分割字符串的方法

    python如何使用split多字符分割字符串的方法

    这篇文章主要给大家介绍了关于python如何使用split多字符分割字符串的相关资料,split()方法是一个非常强大的工具,可以帮助我们轻松地分割字符串,需要的朋友可以参考下
    2023-10-10
  • 利用python求积分的实例

    利用python求积分的实例

    今天小编就为大家分享一篇利用python求积分的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-07-07
  • 详解Python matplotlib中的色彩使用详解

    详解Python matplotlib中的色彩使用详解

    matplotlib中提供了一些常见颜色的字符串,并封装成了几个颜色字典,这篇文章主要来和大家讲解一下matplotlib中的色彩使用,需要的可以参考一下
    2023-07-07
  • Jupyter Notebook折叠输出的内容实例

    Jupyter Notebook折叠输出的内容实例

    这篇文章主要介绍了Jupyter Notebook折叠输出的内容实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-04-04
  • Pandas加速代码之避免使用for循环

    Pandas加速代码之避免使用for循环

    如果你使用Python和Pandas进行数据分析,循环是不可避免要使用的。这篇文章主要给大家介绍了关于Pandas加速代码之避免使用for循环的相关资料,需要的朋友可以参考下
    2021-05-05
  • Python文件路径处理模块pathlib示例详解

    Python文件路径处理模块pathlib示例详解

    pathlib是跨平台的、面向对象的路径操作模块,可适用于不同的操作系统,其操作对象是各种操作系统中使用的路径,下面这篇文章主要给大家介绍了关于Python文件路径处理模块pathlib的相关资料,需要的朋友可以参考下
    2023-04-04
  • Python 抓取动态网页内容方案详解

    Python 抓取动态网页内容方案详解

    这篇文章主要介绍了Python 抓取动态网页内容方案详解,首先通过Chrome的工具来进行分析,然后再使用python进行处理,最终得到我们需要的内容,非常的方便,这里也算是给大家提供一个思路
    2014-12-12
  • python 计算数据偏差和峰度的方法

    python 计算数据偏差和峰度的方法

    今天小编就为大家分享一篇python 计算数据偏差和峰度的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-06-06
  • Python使用pickle模块存储数据报错解决示例代码

    Python使用pickle模块存储数据报错解决示例代码

    这篇文章主要介绍了Python使用pickle模块存储数据报错解决示例代码,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下
    2018-01-01

最新评论