Django实现自定义404,500页面教程


Posted in Python onMarch 26, 2017

1.创建一个项目

django-admin.py startproject HelloWorld

2.进入HelloWorld项目,在manage.py的同一级目录,创建templates目录,并在templates目录下新建404.html,500.html两个文件。

3.修改settings.py

(1.)DEBUG修改为False,(2.)ALLOWED_HOSTS添加指定域名或者IP,(3.)指定模板路径 ‘DIRS' : [os.path.join(BASE_DIR,‘templates')],

# SECURITY WARNING: don't run with debug turned on in production!


DEBUG = False


ALLOWED_HOSTS = ['localhost','www.example.com', '127.0.0.1']



TEMPLATES = [


 {


  'BACKEND': 'django.template.backends.django.DjangoTemplates',


  'DIRS': [os.path.join(BASE_DIR, 'templates')],


  'APP_DIRS': True,


  'OPTIONS': {


   'context_processors': [


    'django.template.context_processors.debug',


    'django.template.context_processors.request',


    'django.contrib.auth.context_processors.auth',


    'django.contrib.messages.context_processors.messages',


   ],


  },


 },


]

4.新建一个views.py

from django.http import HttpResponse

from django.shortcuts import render_to_response

from django.views.decorators.csrf import csrf_exempt

@csrf_exempt

def hello(request):

 return HttpResponse('Hello World!')

@csrf_exempt

def page_not_found(request):

 return render_to_response('404.html')

@csrf_exempt

def page_error(request):

 return render_to_response('500.html')

5.修改urls.py,代码如下

from django.conf.urls import url
from django.contrib import admin
import HelloWorld.views as view
urlpatterns = [
 url(r'^admin/', admin.site.urls),
 url(r'^test$', view.hello),
]
handler404 = view.page_not_found
handler500 = view.page_error

重新编译,重启uwsgi,输入localhost/HelloWorld/test,显示'Hello World!',输入其它地址会显示404.html内容,如果出错则显示500.html内容。

Python 相关文章推荐
Python的高级Git库 Gittle
Sep 22 Python
常见python正则用法的简单实例
Jun 21 Python
Python tkinter模块中类继承的三种方式分析
Aug 08 Python
Python批量发送post请求的实现代码
May 05 Python
python中类的输出或类的实例输出为这种形式的原因
Aug 12 Python
基于python3实现倒叙字符串
Feb 18 Python
Django CSRF认证的几种解决方案
Mar 03 Python
Django中F函数的使用示例代码详解
Jul 06 Python
使用pygame实现垃圾分类小游戏功能(已获校级二等奖)
Jul 23 Python
如何快速理解python的垃圾回收机制
Sep 01 Python
matplotlib之pyplot模块实现添加子图subplot的使用
Apr 25 Python
python数字图像处理之图像自动阈值分割示例
Jun 28 Python
Python 多线程实例详解
Mar 25 #Python
解决python3 urllib中urlopen报错的问题
Mar 25 #Python
Python制作Windows系统服务
Mar 25 #Python
Python 类的继承实例详解
Mar 25 #Python
python利用拉链法实现字典方法示例
Mar 25 #Python
python3实现ftp服务功能(服务端 For Linux)
Mar 24 #Python
python3实现ftp服务功能(客户端)
Mar 24 #Python
You might like
DC宇宙的第一个英雄,堪称动漫史鼻祖,如今成为美国文化的象征
2020/04/09 欧美动漫
Eclipse中php插件安装及Xdebug配置的使用详解
2013/04/25 PHP
PHP实现创建微信自定义菜单的方法示例
2017/07/14 PHP
Laravel框架FormRequest中重写错误处理的方法
2019/02/18 PHP
JavaScript OOP类与继承
2009/11/15 Javascript
node.js中Socket.IO的进阶使用技巧
2014/11/04 Javascript
node.js中的fs.realpath方法使用说明
2014/12/16 Javascript
JavaScript中Function详解
2015/02/27 Javascript
简介JavaScript中的push()方法的使用
2015/06/09 Javascript
VUEJS实战之利用laypage插件实现分页(3)
2016/06/13 Javascript
node.js请求HTTPS报错:UNABLE_TO_VERIFY_LEAF_SIGNATURE\的解决方法
2016/12/18 Javascript
jQuery插件ajaxFileUpload使用详解
2017/01/10 Javascript
源码分析Vue.js的监听实现教程
2017/04/23 Javascript
axios中cookie跨域及相关配置示例详解
2017/12/20 Javascript
获取layer.open弹出层的返回值方法
2018/08/20 Javascript
vue展示dicom文件医疗系统的实现代码
2018/08/27 Javascript
Vue组件间通信 Vuex的用法解析
2019/08/05 Javascript
Vue的编码技巧与规范使用详解
2019/08/28 Javascript
[01:34]完美“圣”典宣传片震撼发布,12.17与你不见不散
2016/12/16 DOTA
详解Python当中的字符串和编码
2015/04/25 Python
Python中asyncio与aiohttp入门教程
2018/10/16 Python
Python os.rename() 重命名目录和文件的示例
2018/10/25 Python
Python整数对象实现原理详解
2019/07/01 Python
将matplotlib绘图嵌入pyqt的方法示例
2020/01/08 Python
python Timer 类使用介绍
2020/12/28 Python
本科毕业生的求职信范文
2013/11/20 职场文书
无偿献血倡议书
2014/04/14 职场文书
《真想变成大大的荷叶》教学反思
2014/04/14 职场文书
五年级下册复习计划
2015/01/19 职场文书
高考作弊检讨书1500字
2015/02/16 职场文书
2015年初一班主任工作总结
2015/05/13 职场文书
2015年行政人事部工作总结
2015/05/13 职场文书
格列佛游记读书笔记
2015/06/30 职场文书
公文格式,规则明细(新手收藏)
2019/07/23 职场文书
React Fragment介绍与使用详解
2021/11/11 Javascript
详解MySql中InnoDB存储引擎中的各种锁
2022/02/12 MySQL