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基于xml parse实现解析cdatasection数据
Sep 30 Python
使用Python脚本操作MongoDB的教程
Apr 16 Python
初步认识Python中的列表与位运算符
Oct 12 Python
Python正规则表达式学习指南
Aug 02 Python
Python爬取京东的商品分类与链接
Aug 26 Python
Python读取图片为16进制表示简单代码
Jan 19 Python
Python学生信息管理系统修改版
Mar 13 Python
15行Python代码带你轻松理解令牌桶算法
Mar 21 Python
深入浅析Python中的迭代器
Jun 04 Python
基于Python实现大文件分割和命名脚本过程解析
Sep 29 Python
python 实现图片上传接口开发 并生成可以访问的图片url
Dec 18 Python
Pycharm生成可执行文件.exe的实现方法
Jun 02 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 htmlentities和htmlspecialchars 的区别
2008/08/18 PHP
mysql 性能的检查和优化方法
2009/06/21 PHP
PHP实现文件下载详解
2014/11/27 PHP
PHP将页面中点击数量高的链接进行高亮显示的方法
2016/05/30 PHP
php实现根据身份证获取精准年龄
2020/02/26 PHP
JS input 数字验证代码
2009/07/30 Javascript
html数组字符串拼接的最快方法
2009/09/16 Javascript
javascript下判断一个元素是否存在的代码
2010/03/05 Javascript
使用JQuery和CSS模拟超链接的用户单击事件的实现代码
2012/05/23 Javascript
Nodejs使用mysql模块之获得更新和删除影响的行数的方法
2014/03/18 NodeJs
jQuery菜单插件superfish使用指南
2015/04/21 Javascript
jquery实现页面虚拟键盘特效
2015/08/08 Javascript
javascript实现选中复选框后相关输入框变灰不可用的方法
2015/08/11 Javascript
vue与bootstrap实现时间选择器的示例代码
2017/08/26 Javascript
webpack写jquery插件的环境配置
2017/12/21 jQuery
vue操作下拉选择器获取选择的数据的id方法
2018/08/24 Javascript
Node.js Windows Binary二进制文件安装方法
2019/05/16 Javascript
js+html实现周岁年龄计算器
2019/06/25 Javascript
实现一个 Vue 吸顶锚点组件方法
2019/07/10 Javascript
微信小程序实现Swiper轮播图效果
2019/11/22 Javascript
node+multer实现图片上传的示例代码
2020/02/18 Javascript
原生JS实现九宫格抽奖
2020/09/13 Javascript
Openlayers学习之地图比例尺控件
2020/09/28 Javascript
[01:00]选手抵达华西村 整装待发备战2016国际邀请赛中国区预选赛
2016/06/25 DOTA
Python Datetime模块和Calendar模块用法实例分析
2019/04/15 Python
pandas.DataFrame的pivot()和unstack()实现行转列
2019/07/06 Python
Flask中sqlalchemy模块的实例用法
2020/08/02 Python
基于html5 canvas做批改作业的小插件
2020/05/20 HTML / CSS
深入开展党的群众路线教育实践活动方案
2014/02/04 职场文书
致长跑运动员加油稿
2014/02/20 职场文书
2014年最新学习全国两会精神心得
2014/03/17 职场文书
北京申奥口号
2014/06/19 职场文书
庆六一活动总结
2014/08/29 职场文书
结婚通知短信大全
2015/04/17 职场文书
2016企业先进集体事迹材料
2016/02/25 职场文书
2019年恭贺升学祝福语集锦
2019/08/15 职场文书