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发送SMTP邮件的教程
Apr 29 Python
Django发送html邮件的方法
May 26 Python
Python ftp上传文件
Feb 13 Python
fastcgi文件读取漏洞之python扫描脚本
Apr 23 Python
python爬取网页转换为PDF文件
Jun 07 Python
详解python中递归函数
Apr 16 Python
PyQt+socket实现远程操作服务器的方法示例
Aug 22 Python
python 实现性别识别
Nov 21 Python
python 读取yaml文件的两种方法(在unittest中使用)
Dec 01 Python
Python网络编程之ZeroMQ知识总结
Apr 25 Python
Python基于百度API识别并提取图片中文字
Jun 27 Python
pd.DataFrame中的几种索引变换的实现
Jun 16 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,ajax实现分页
2008/03/27 PHP
PHP stream_context_create()作用和用法分析
2011/03/29 PHP
基于xcache的配置与使用详解
2013/06/18 PHP
PHP生成验证码时“图像因其本身有错无法显示”的解决方法
2013/08/07 PHP
PHP Hash算法:Times33算法代码实例
2015/05/13 PHP
PHP超低内存遍历目录文件和读取超大文件的方法
2019/05/01 PHP
许愿墙中用到的函数
2006/10/07 Javascript
使用IE的地址栏来辅助调试Web页脚本
2007/03/08 Javascript
很可爱的输入框
2008/08/03 Javascript
了解jQuery技巧来提高你的代码
2010/01/08 Javascript
jquery的$getjson调用并获取远程的JSON字符串问题
2012/12/10 Javascript
js 事件截取enter按键页面提交事件示例代码
2014/03/04 Javascript
浅谈JavaScript函数节流
2014/12/09 Javascript
JavaScript中的分号插入机制详细介绍
2015/02/11 Javascript
谈谈Jquery中的children find 的区别有哪些
2015/10/19 Javascript
js和jquery实现监听键盘事件示例代码
2020/06/24 Javascript
详解JavaScript的内置对象
2016/12/07 Javascript
详解微信小程序开发之城市选择器 城市切换
2017/01/17 Javascript
网页中右键功能的实现方法之contextMenu的使用
2017/02/20 Javascript
Vue源码解读之Component组件注册的实现
2018/08/24 Javascript
浅谈一个webpack构建速度优化误区
2019/06/24 Javascript
JavaScript创建、读取和删除cookie
2019/09/03 Javascript
angula中使用iframe点击后不执行变更检测的问题
2020/05/10 Javascript
用python写一个windows下的定时关机脚本(推荐)
2017/03/21 Python
python smtplib模块实现发送邮件带附件sendmail
2018/05/22 Python
pyqt5 键盘监听按下enter 就登陆的实例
2019/06/25 Python
对pytorch中的梯度更新方法详解
2019/08/20 Python
python 将Excel转Word的示例
2021/03/02 Python
PHP如何调用MYSQL存储过程
2014/05/30 面试题
如何估计一张表的大小(假设该表中有1万条数据)
2016/03/27 面试题
如何写出好的Java代码
2014/04/25 面试题
大专学生推荐信范文
2013/11/19 职场文书
《特殊的葬礼》教学反思
2014/04/27 职场文书
科学育儿宣传标语
2014/10/08 职场文书
python实现Nao机器人的单目测距
2021/09/04 Python
JavaScript文档对象模型DOM
2021/11/20 Javascript