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中的元类编程入门指引
Apr 15 Python
Python通过正则表达式选取callback的方法
Jul 18 Python
PyQt5每天必学之事件与信号
Apr 20 Python
Python基于jieba库进行简单分词及词云功能实现方法
Jun 16 Python
Python面向对象类的继承实例详解
Jun 27 Python
Python面向对象程序设计之继承与多继承用法分析
Jul 13 Python
Jupyter notebook在mac:linux上的配置和远程访问的方法
Jan 14 Python
Python设计模式之适配器模式原理与用法详解
Jan 15 Python
python修改linux中文件(文件夹)的权限属性操作
Mar 05 Python
Python request中文乱码问题解决方案
Sep 17 Python
Python将QQ聊天记录生成词云的示例代码
Feb 10 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
给多个地址发邮件的类
2006/10/09 PHP
通过JavaScript或PHP检测Android设备的代码
2011/03/09 PHP
php调整gif动画图片尺寸示例代码分享
2013/12/05 PHP
destoon数据库表说明汇总
2014/07/15 PHP
php打印一个边长为N的实心和空心菱型的方法
2015/03/02 PHP
Laravel SQL语句记录方式(推荐)
2016/05/26 PHP
Yii2 中实现单点登录的方法
2018/03/09 PHP
jQuery实现复选框成对选择及对应取消的方法
2015/03/03 Javascript
JS+CSS实现仿支付宝菜单选中效果代码
2015/09/25 Javascript
Vue.js中数组变动的检测详解
2016/10/12 Javascript
在node中如何使用 ES6
2017/04/22 Javascript
深入浅出es6模板字符串
2017/08/26 Javascript
微信小程序实现点击按钮移动view标签的位置功能示例【附demo源码下载】
2017/12/06 Javascript
Javascript将图片的绝对路径转换为base64编码的方法
2018/01/11 Javascript
解决Vue中引入swiper,在数据渲染的时候,发生不滑动的问题
2018/09/27 Javascript
关于微信公众号开发无法支付的问题解决
2018/12/28 Javascript
vue-cli中vue本地实现跨域调试接口
2019/01/16 Javascript
[46:25]DOTA2上海特级锦标赛主赛事日 - 4 败者组第五轮 MVP.Phx VS EG第二局
2016/03/05 DOTA
[01:06:59]完美世界DOTA2联赛PWL S2 Magma vs FTD 第一场 11.29
2020/12/02 DOTA
python中getattr函数使用方法 getattr实现工厂模式
2014/01/20 Python
Python模块搜索概念介绍及模块安装方法介绍
2015/06/03 Python
Python+Wordpress制作小说站
2017/04/14 Python
Python实现的手机号归属地相关信息查询功能示例
2017/06/08 Python
Python实现的三层BP神经网络算法示例
2018/02/07 Python
Django + Uwsgi + Nginx 实现生产环境部署的方法
2018/06/20 Python
解决python super()调用多重继承函数的问题
2019/06/26 Python
Python企业编码生成系统之系统主要函数设计详解
2019/07/26 Python
python Pillow图像处理方法汇总
2019/10/16 Python
如何利用python检测图片是否包含二维码
2020/10/15 Python
python实现MySQL指定表增量同步数据到clickhouse的脚本
2021/02/26 Python
英国一家集合了众多有才华设计师品牌的奢侈店:Wolf & Badger
2018/04/18 全球购物
FC-Moto瑞典:欧洲最大的摩托车服装和头盔商店之一
2018/11/27 全球购物
12月小学生校园广播稿
2014/02/04 职场文书
2016教师节感恩话语
2015/12/09 职场文书
服务行业标语口号
2015/12/26 职场文书
毕业生就业推荐表自我鉴定
2019/06/20 职场文书