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中bisect模块用法实例
Sep 25 Python
Python对文件操作知识汇总
May 15 Python
python 性能提升的几种方法
Jul 15 Python
Django中redis的使用方法(包括安装、配置、启动)
Feb 21 Python
Python基于pycrypto实现的AES加密和解密算法示例
Apr 10 Python
python对离散变量的one-hot编码方法
Jul 11 Python
FFrpc python客户端lib使用解析
Aug 24 Python
Python 使用多属性来进行排序
Sep 01 Python
浅析pandas 数据结构中的DataFrame
Oct 12 Python
基于Keras 循环训练模型跑数据时内存泄漏的解决方式
Jun 11 Python
Python通过Schema实现数据验证方式
Nov 12 Python
解决pytorch 保存模型遇到的问题
Mar 03 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
实现树状结构的两种方法
2006/10/09 PHP
PHP数组遍历知识汇总(包含遍历方法、数组指针操作函数、数组遍历测速)
2014/07/05 PHP
PHP实现文件上传和多文件上传
2015/12/24 PHP
记录几个javascript有关的小细节
2007/04/02 Javascript
纯js实现的论坛常用的运行代码的效果
2008/07/15 Javascript
jQuery 注意事项 与原因分析
2009/04/24 Javascript
js获取当前select 元素值的代码
2010/04/19 Javascript
js 复制或插入Html的实现方法小结
2010/05/19 Javascript
jquery each()源代码
2011/02/14 Javascript
用js实现table单元格高宽调整,兼容合并单元格(兼容IE6、7、8、FF)实例
2013/06/25 Javascript
js弹出层永远居中实现思路及代码
2013/11/29 Javascript
jQuery实现的一个tab切换效果内部还嵌有切换
2014/08/10 Javascript
Node.js开发之访问Redis数据库教程
2015/01/14 Javascript
JavaScript调用传递变量参数的相关问题及解决办法
2015/11/01 Javascript
JS中的数组方法笔记整理
2016/07/26 Javascript
JavaScript实现DOM对象选择器
2016/09/24 Javascript
vue双向绑定简要分析
2017/03/23 Javascript
简单实现js进度条加载效果
2020/03/25 Javascript
全面介绍vue 全家桶和项目实例
2017/12/27 Javascript
详解用JS添加和删除class类名
2019/03/25 Javascript
在vue中获取wangeditor的html和text的操作
2020/10/23 Javascript
JavaScript 实现轮播图特效的示例
2020/11/05 Javascript
Python使用pickle模块实现序列化功能示例
2018/07/13 Python
python redis连接 有序集合去重的代码
2019/08/04 Python
Django中使用session保持用户登陆连接的例子
2019/08/06 Python
python中的RSA加密与解密实例解析
2019/11/18 Python
HTML5拖放API实现自动生成相框功能
2020/04/07 HTML / CSS
MADE荷兰:提供原创设计师家具
2018/04/03 全球购物
白俄罗斯女装和针织品网上商店:Presli.by
2019/10/13 全球购物
俄罗斯第一家篮球店:StreetBall
2020/07/30 全球购物
Java平台和其他软件平台有什么不同
2015/06/05 面试题
学习考察心得体会
2014/09/04 职场文书
法人委托书的范本格式
2014/09/11 职场文书
学生自我鉴定格式及范文
2014/09/16 职场文书
四风问题对照检查材料整改措施
2014/09/27 职场文书
CSS三大特性继承性、层叠性和优先级详解
2022/01/18 HTML / CSS