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 dict.get()和dict['key']的区别详解
Jun 30 Python
Python中的groupby分组功能的实例代码
Jul 11 Python
Python使用分布式锁的代码演示示例
Jul 30 Python
利用Python将数值型特征进行离散化操作的方法
Nov 06 Python
Python 给定的经纬度标注在地图上的实现方法
Jul 05 Python
flask应用部署到服务器的方法
Jul 12 Python
python模块和包的应用BASE_PATH使用解析
Dec 14 Python
python常用运维脚本实例小结
Feb 14 Python
python numpy矩阵信息说明,shape,size,dtype
May 22 Python
python程序如何进行保存
Jul 03 Python
python中的时区问题
Jan 14 Python
只用40行Python代码就能写出pdf转word小工具
May 31 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
长波知识介绍
2021/03/01 无线电
使用PHP获取网络文件的实现代码
2010/01/01 PHP
解析如何用php screw加密php源代码
2013/06/20 PHP
PHP error_log()将错误信息写入一个文件(定义和用法)
2013/10/25 PHP
基于thinkphp5框架实现微信小程序支付 退款 订单查询 退款查询操作
2020/08/17 PHP
jquery nth-child()选择器的简单应用
2010/07/10 Javascript
用示例说明filter()与find()的用法以及children()与find()的区别分析
2013/04/26 Javascript
Flexigrid在IE下不显示数据的处理的解决方法
2013/10/24 Javascript
js中for in的用法示例解析
2013/12/25 Javascript
jquery实现类似EasyUI的页面布局可改变左右的宽度
2020/09/12 Javascript
浅谈轻量级js模板引擎simplite
2015/02/13 Javascript
JavaScript中join()方法的使用简介
2015/06/09 Javascript
JavaScript实现自动弹出窗口并自动关闭窗口的方法
2015/08/06 Javascript
详解AngularJS Filter(过滤器)用法
2015/12/28 Javascript
JS控制文本域只读或可写属性的方法
2016/06/24 Javascript
Bootstrap零基础学习第一课之模板
2016/07/18 Javascript
AngularJS入门教程之路由与多视图详解
2016/08/19 Javascript
利用jquery实现瀑布流3种案例
2016/09/18 Javascript
webpack引入eslint配置详解
2018/01/22 Javascript
Node.js的Koa实现JWT用户认证方法
2018/05/05 Javascript
Django实现的自定义访问日志模块示例
2017/06/23 Python
如何使用Python实现自动化水军评论
2019/06/26 Python
python opencv minAreaRect 生成最小外接矩形的方法
2019/07/01 Python
Linux下通过python获取本机ip方法示例
2019/09/06 Python
Django通过dwebsocket实现websocket的例子
2019/11/15 Python
如何基于python实现脚本加密
2019/12/28 Python
CSS3中的注音对齐属性ruby-align用法指南
2016/07/01 HTML / CSS
HTML5实现Notification API桌面通知功能
2016/03/02 HTML / CSS
日本土著品牌,综合型购物网站:Cecile
2016/08/23 全球购物
意大利奢侈品综合电商网站:MODES
2019/12/14 全球购物
学生实习推荐信范文
2013/11/26 职场文书
电子邮箱格式怎么写
2014/01/12 职场文书
创建文明城市标语
2014/06/16 职场文书
审美与表现自我评价
2015/03/09 职场文书
Mysql数据库按时间点恢复实战记录
2021/06/30 MySQL
create-react-app开发常用配置教程
2022/06/25 Javascript