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端口扫描系统实现方法
Nov 19 Python
简单介绍Python下自己编写web框架的一些要点
Apr 29 Python
Python的Bottle框架中返回静态文件和JSON对象的方法
Apr 30 Python
PHP网页抓取之抓取百度贴吧邮箱数据代码分享
Apr 13 Python
Python selenium文件上传方法汇总
Nov 19 Python
Python使用defaultdict读取文件各列的方法
May 11 Python
python实现稀疏矩阵示例代码
Jun 09 Python
python requests 使用快速入门
Aug 31 Python
python中使用正则表达式的后向搜索肯定模式(推荐)
Nov 11 Python
Python中字符串List按照长度排序
Jul 01 Python
Django 查询数据库并返回页面的例子
Aug 12 Python
使用Keras训练好的.h5模型来测试一个实例
Jul 06 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函数解决SQL injection
2006/12/09 PHP
php array_map array_multisort 高效处理多维数组排序
2009/06/11 PHP
PHP 异步执行方法,模拟多线程的应用分析
2013/06/03 PHP
Yii的CDbCriteria查询条件用法实例
2014/12/04 PHP
PHP中的traits简单使用实例
2015/05/13 PHP
composer.lock文件的作用
2016/02/03 PHP
PHP模拟post提交数据方法汇总
2016/02/16 PHP
详解php中的implements 使用
2017/06/13 PHP
PHP设计模式之单例模式定义与用法分析
2019/03/26 PHP
javascript轻松实现当鼠标移开时已弹出子菜单自动消失
2013/12/29 Javascript
js监听鼠标事件控制textarea输入字符串的个数
2014/09/29 Javascript
让JavaScript中setTimeout支持链式操作的方法
2015/06/19 Javascript
jquery利用拖拽方式在图片上添加热链接
2015/11/24 Javascript
JavaScript基础篇(3)之Object、Function等引用类型
2015/11/30 Javascript
EditPlus中的正则表达式 实战(2)
2016/12/15 Javascript
JS实现禁止用户使用Ctrl+鼠标滚轮缩放网页的方法
2017/04/28 Javascript
JS获取url参数,JS发送json格式的POST请求方法
2018/03/29 Javascript
关于js陀螺仪的理解分析
2019/04/11 Javascript
Vue实现剪切板图片压缩功能
2020/02/04 Javascript
使用Python编写简单网络爬虫抓取视频下载资源
2014/11/04 Python
Python中使用SAX解析xml实例
2014/11/21 Python
Python yield 使用方法浅析
2017/05/20 Python
Windows系统下多版本pip的共存问题详解
2017/10/10 Python
python数字图像处理之骨架提取与分水岭算法
2018/04/27 Python
详解分布式任务队列Celery使用说明
2018/11/29 Python
使用python批量化音乐文件格式转换的实例
2019/01/09 Python
pytorch使用Variable实现线性回归
2019/05/21 Python
Opencv python 图片生成视频的方法示例
2020/11/18 Python
HTML5轻松实现全屏视频背景的示例
2018/04/23 HTML / CSS
英国天然保健品网站:Simply Supplements
2017/03/22 全球购物
Volcom法国官网:美国冲浪滑板品牌
2017/05/25 全球购物
俄罗斯名牌服装网上商店:UNIQUE FABRIC
2019/07/25 全球购物
药物学专业学生的自我评价
2013/10/27 职场文书
爱情检讨书大全
2014/01/21 职场文书
分家协议书范本
2016/03/22 职场文书
不同品牌、不同型号对讲机如何互相通联
2022/02/18 无线电