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 相关文章推荐
教你如何在Django 1.6中正确使用 Signal
Jun 22 Python
简单谈谈Python中的闭包
Nov 30 Python
Python简单实现自动删除目录下空文件夹的方法
Aug 29 Python
python实现用户答题功能
Jan 17 Python
python如何重载模块实例解析
Jan 25 Python
pyqt5移动鼠标显示坐标的方法
Jun 21 Python
Python爬取新型冠状病毒“谣言”新闻进行数据分析
Feb 16 Python
在python里创建一个任务(Task)实例
Apr 25 Python
Python优秀开源项目Rich源码解析的流程分析
Jul 06 Python
Python getattr()函数使用方法代码实例
Aug 10 Python
Pytho爬虫中Requests设置请求头Headers的方法
Sep 22 Python
Python爬虫Scrapy框架CrawlSpider原理及使用案例
Nov 20 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
CodeIgniter生成网站sitemap地图的方法
2013/11/13 PHP
PHP获取音频文件的相关信息
2015/06/22 PHP
前端必学之PHP语法基础
2016/01/01 PHP
Smarty模板引擎缓存机制详解
2016/05/23 PHP
PHP基于反射机制实现插件的可插拔设计详解
2016/11/10 PHP
js禁止页面使用右键(简单示例代码)
2013/11/13 Javascript
js 判断文件类型并控制表单提交示例代码
2013/11/14 Javascript
js中自定义方法实现停留几秒sleep
2014/07/11 Javascript
nodejs中实现sleep功能实例
2015/03/24 NodeJs
JS基于VML技术实现的五角星礼花效果代码
2015/10/26 Javascript
jQuery基本过滤选择器用法示例
2016/09/09 Javascript
jQuery实现获取元素索引值index的方法
2016/09/18 Javascript
微信小程序 wx.request(OBJECT)发起请求详解
2016/10/13 Javascript
jquery ui sortable拖拽后保存位置
2017/04/27 jQuery
Vue通过URL传参如何控制全局console.log的开关详解
2017/12/07 Javascript
jQuery实现左右滑动的toggle方法
2018/03/03 jQuery
axios 实现post请求时把对象obj数据转为formdata
2019/10/31 Javascript
在 Django/Flask 开发服务器上使用 HTTPS
2014/07/03 Python
Python脚本实现网卡流量监控
2015/02/14 Python
解析Mac OS下部署Pyhton的Django框架项目的过程
2016/05/03 Python
批量获取及验证HTTP代理的Python脚本
2017/04/23 Python
python 美化输出信息的实例
2018/10/15 Python
Django连接数据库并实现读写分离过程解析
2019/11/13 Python
python datetime时间格式的相互转换问题
2020/06/11 Python
python如何绘制疫情图
2020/09/16 Python
移动端Web页面的CSS3 flex布局快速上手指南
2016/05/31 HTML / CSS
健康监测猫砂:Pretty Litter
2017/05/25 全球购物
人事专员工作职责
2014/02/22 职场文书
小班下学期评语
2014/05/04 职场文书
2015年银行工作总结范文
2015/04/01 职场文书
体检通知范文
2015/04/21 职场文书
工程服务质量承诺书
2015/04/29 职场文书
2015年林业工作总结
2015/05/14 职场文书
早恋主题班会
2015/08/14 职场文书
pandas中DataFrame重置索引的几种方法
2021/05/24 Python
Linux系统下安装PHP7.3版本
2021/06/26 PHP