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的lambda匿名函数的简单介绍
Apr 25 Python
web.py在模板中输出美元符号的方法
Aug 26 Python
Python中输出ASCII大文字、艺术字、字符字小技巧
Apr 28 Python
python中sys.argv参数用法实例分析
May 20 Python
Perl中著名的Schwartzian转换问题解决实现
Jun 02 Python
详解Django中的权限和组以及消息
Jul 23 Python
判断网页编码的方法python版
Aug 12 Python
Request的中断和ErrorHandler实例解析
Feb 12 Python
python xpath获取页面注释的方法
Jan 14 Python
Python rabbitMQ如何实现生产消费者模式
Aug 24 Python
pycharm 2020 1.1的安装流程
Sep 29 Python
python 下划线的不同用法
Oct 24 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
php检测iis环境是否支持htaccess的方法
2014/02/18 PHP
php简单日历函数
2015/10/28 PHP
php获取指定数量随机字符串的方法
2017/02/06 PHP
php源码的安装方法和实例
2019/09/26 PHP
php+ajax实现文件切割上传功能示例
2020/03/03 PHP
让插入到 innerHTML 中的 script 跑起来的实现代码
2006/07/01 Javascript
javascript编程起步(第七课)
2007/02/27 Javascript
JavaScript创建命名空间(namespace)的最简实现
2007/12/11 Javascript
js jquery ajax的几种用法总结(及优缺点介绍)
2014/01/28 Javascript
Javascript对象Clone实例分析
2015/06/09 Javascript
iPhone手机上搭建nodejs服务器步骤方法
2015/07/06 NodeJs
Javascript之面向对象--接口
2016/12/02 Javascript
jQuery EasyUI ProgressBar进度条组件
2017/02/28 Javascript
使用sessionStorage解决vuex在页面刷新后数据被清除的问题
2018/04/13 Javascript
微信小程序开发之改变data中数组或对象的某一属性值
2018/07/05 Javascript
Vue基本使用之对象提供的属性功能
2019/04/30 Javascript
JavaScript实现简单贪吃蛇效果
2020/03/09 Javascript
python实现udp数据报传输的方法
2014/09/26 Python
Python socket C/S结构的聊天室应用实现
2014/11/30 Python
python映射列表实例分析
2015/01/26 Python
Python文件读写保存操作的示例代码
2018/09/14 Python
python中ImageTk.PhotoImage()不显示图片却不报错问题解决
2018/12/06 Python
解决django中ModelForm多表单组合的问题
2019/07/18 Python
python通过robert、sobel、Laplace算子实现图像边缘提取详解
2019/08/21 Python
Python中filter与lambda的结合使用详解
2019/12/24 Python
django rest framework serializers序列化实例
2020/05/13 Python
python使用建议与技巧分享(一)
2020/08/17 Python
python 实现"神经衰弱"翻牌游戏
2020/11/09 Python
CSS3实现的文本3D效果附图
2014/09/03 HTML / CSS
彪马土耳其官网:PUMA土耳其
2019/07/14 全球购物
环境科学专业个人求职信
2013/09/26 职场文书
火车来了教学反思
2014/02/11 职场文书
说谎欺骗人检讨书300字
2014/11/18 职场文书
给下属加薪申请报告
2015/05/15 职场文书
党校团干班培训心得体会
2016/01/06 职场文书
创业计划书之服装
2019/10/07 职场文书