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页面全局配置内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

时间: 2020-03-08

django使用xadmin的全局配置详解

这篇主要写一些xadmin一些基础的全局设置 主题设置 首先需要在创建好的app中新建一个adminx.py的文件,然后添加代码 # _*_ coding: utf-8 _*_ import xadmin from xadmin import views class BaseSetting(object): enable_themes=True use_bootswatch=True xadmin.site.register(views.BaseAdminView,BaseSetting) 全局

Django+Vue跨域环境配置详解

概述 在使用Django+Vue开发过程中,遇到了很多开发环境相关的问题,比如跨域,比如ajax请求参数等,本篇文章主要记录解决在开发过程中,遇到的一些问题. 跨域不带Cookie 在使用Vue脚手架开发的过程中,会使用Vue脚手架自带的Server进行项目调试,Vue自带的Server支持 hot reloading ,这个特性是非常好用的.但是在开发过程中,因为要与后端交互,所以在请求后端接口的时候,会遇到跨域问题,这个问题在一些职责划分清楚的团队并不存在,因为前端开发人员会才用Mock数据

apache服务器全局配置详解(全)

Apache服务器全局配置之服务器标识配置篇 服务器标识相关指令:ServerNameServerAdminServerSignatureServerTokensUseCanonicalNameUseCanonicalPhysicalPort ServerAdmin和ServerTokens指令控制有关服务器的哪些信息将出现在服务器生成的文档中(如错误消息).ServerTokens指令设置服务器HTTP响应头字段的值.ServerName.UseCanonicalName. UseCanoni

Django日志模块logging的配置详解

前言 Django对于日志输出的信息是很完善的,request的信息,setting配置,trackback的信息,一应俱全,足够我们调试了.但是在线上环境,如果让用户看到这些信息,是很不安全的(暴露代码).所以在线上我们要关闭Debug,但是又不能扔掉这些调试信息,这就要用到logging模块. logging模块其实是Python的模块,在Django中有很多本地化的支持. 理解Logger 首先要理解logging的工作,这里面主要有四个东西:格式器formatter,过滤器filter,

Django视图和URL配置详解

本文研究的主要是Django视图和URL配置,具体介绍如下. 一.视图 1.在mysite文件夹下,创建views.py文件(文件名没有特别的要求): from django.http import HttpResponse def hello(request): return HttpResponse("Hello world") 2.修改mysite文件夹下的urls.py文件: from django.conf.urls import url from django.contri

RSync实现文件同步备份配置详解

一.什么是rsync rsync,remote synchronize顾名思意就知道它是一款实现远程同步功能的软件,它在同步文件的同时,可以保持原来文件的权限.时间.软硬链接等附加信息. rsync是用 "rsync 算法"提供了一个客户机和远程文件服务器的文件同步的快速方法,而且可以通过ssh方式来传输文件,这样其保密性也非常好,另外它还是免费的软件. rsync 包括如下的一些特性: 能更新整个目录和树和文件系统: 有选择性的保持符号链链.硬链接.文件属于.权限.设备以及时间等:

Mybatis中 XML配置详解

Mybatis常用带有禁用缓存的XML配置 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd" > <configuration> <

Nginx的完整配置详解及实例代码

Nginx的完整配置详解 最近公司新项目,由于自己是小白,跟着项目经理对Nginx进行配置,在网上找到一篇相关资料,觉得不错,并可以完成配置,这里记录下, 实例代码: #运行用户 user nobody; #启动进程,通常设置成和cpu的数量相等 worker_processes 1; #全局错误日志及PID文件 #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info;

Nginx配置详解(推荐)

序言 Nginx是lgor Sysoev为俄罗斯访问量第二的rambler.ru站点设计开发的.从2004年发布至今,凭借开源的力量,已经接近成熟与完善. Nginx功能丰富,可作为HTTP服务器,也可作为反向代理服务器,邮件服务器.支持FastCGI.SSL.Virtual Host.URL Rewrite.Gzip等功能.并且支持很多第三方的模块扩展. Nginx的稳定性.功能集.示例配置文件和低系统资源的消耗让他后来居上,在全球活跃的网站中有12.18%的使用比率,大约为2220万个网站.

Spring Web MVC和Hibernate的集成配置详解

网上看到很多关于Spring与Hibernate的集成的文章,奈何由于那些文章写作时间较早,很多都是Spring 3 和Hibernate 4等较旧的版本.所以我在这里使用更新的版本来说明一下. 添加项目依赖 首先我们需要一个Java Web项目,最好使用Maven或Gradle构建工具,方便我们解决软件依赖.我在这里使用Gradle构建工具,构建脚本如下.我们只要引入spring-webmvc和spring-orm这两个包,其他的Spring依赖会自动由构建工具解决.然后还需要引入数据源.Hi