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 21 Python
Python数据分析之双色球中蓝红球分析统计示例
Feb 03 Python
Python2包含中文报错的解决方法
Jul 09 Python
windows下numpy下载与安装图文教程
Apr 02 Python
python自动发邮件总结及实例说明【推荐】
May 31 Python
Python获取时间范围内日期列表和周列表的函数
Aug 05 Python
pygame实现俄罗斯方块游戏(基础篇1)
Oct 29 Python
Python3 A*寻路算法实现方式
Dec 24 Python
Python 读取有公式cell的结果内容实例方法
Feb 17 Python
Python类中的装饰器在当前类中的声明与调用详解
Apr 15 Python
深入了解Python 方法之类方法 & 静态方法
Aug 17 Python
7个关于Python的经典基础案例
Nov 07 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 文件上传实例代码
2012/04/19 PHP
php定义数组和使用示例(php数组的定义方法)
2014/03/29 PHP
PHP利用MySQL保存session的实现思路及示例代码
2014/09/09 PHP
浅谈php提交form表单
2015/07/01 PHP
php版银联支付接口开发简明教程
2016/10/14 PHP
php pdo操作数据库示例
2017/03/10 PHP
浅谈PHP面向对象之访问者模式+组合模式
2017/05/22 PHP
js DOM的学习笔记
2011/12/22 Javascript
JavaScript版DateAdd和DateDiff函数代码
2012/03/01 Javascript
JavaScript实现的一个倒计时的类
2015/03/12 Javascript
JQuery在循环中绑定事件的问题详解
2016/06/02 Javascript
全面理解闭包机制
2016/07/11 Javascript
windows下vue.js开发环境搭建教程
2017/03/20 Javascript
Vue.js实现列表清单的操作方法
2017/11/15 Javascript
在React项目中使用Eslint代码检查工具及常见问题
2018/10/10 Javascript
NodeJS使用Range请求实现下载功能的方法示例
2018/10/12 NodeJs
javascript实现对话框功能警告(alert 消息对话框)确认(confirm 消息对话框)
2019/05/07 Javascript
小程序新版订阅消息模板消息
2019/12/31 Javascript
JS深入学习之数组对象排序操作示例
2020/05/01 Javascript
浅析JavaScript预编译和暗示全局变量
2020/09/03 Javascript
[01:24:51]2014 DOTA2华西杯精英邀请赛 5 25 LGD VS NewBee第二场
2014/05/26 DOTA
[02:02]特效爆炸!DOTA2珍宝之瓶待你开启
2018/08/21 DOTA
Python多线程编程(七):使用Condition实现复杂同步
2015/04/05 Python
Python计算库numpy进行方差/标准方差/样本标准方差/协方差的计算
2018/12/28 Python
centos 安装Python3 及对应的pip教程详解
2019/06/28 Python
pycharm 更改创建文件默认路径的操作
2020/02/15 Python
配置H5的滚动条样式的示例代码
2018/03/09 HTML / CSS
六一亲子活动总结
2014/07/01 职场文书
以幸福为主题的活动方案
2014/08/22 职场文书
超市收银员岗位职责
2015/04/07 职场文书
2016年习主席讲话学习心得体会
2016/01/20 职场文书
应届生们该怎么书写求职信?
2019/07/05 职场文书
告诉你一个秘密:富人致富的五大优点
2019/07/11 职场文书
详解Python小数据池和代码块缓存机制
2021/04/07 Python
用Python监控你的朋友都在浏览哪些网站?
2021/05/27 Python
《异世界四重奏》剧场版6月10日上映 PV视觉图原创角色发表
2022/03/20 日漫