Python的Bottle框架中返回静态文件和JSON对象的方法


Posted in Python onApril 30, 2015

代码如下:

# -*- coding: utf-8 -*-
#!/usr/bin/python
# filename: todo.py
# codedtime: 2014-8-28 20:50:44

import sqlite3
import bottle
  
@bottle.route('/help3')
def help():
  return bottle.static_file('help.html', root='.') #静态文件

@bottle.route('/json:json#[0-9]+#')
def show_json(json):
  conn = sqlite3.connect('todo.db')
  c = conn.cursor()
  c.execute("SELECT task FROM todo WHERE id LIKE ?", (json))
  result = c.fetchall()
  c.close()

  if not result:
    return {'task':'This item number does not exist!'}
  else:
    return {'Task': result[0]} #返回Json对象

bottle.debug(True)
bottle.run(host='127.0.0.1', port=8080, reloader = True)

 第一个路由@bottle.route('/help3') 返回一个静态问,在浏览器中输入:http://127.0.0.1:8080/help3

结果如下:

Python的Bottle框架中返回静态文件和JSON对象的方法

其中的 root='.')或 root='./')表示在程序当前目录下,当然你也可以知道其他的路径如: root='/path/to/file'

第二个路由@bottle.route('/json:json#[0-9]+#')返回一个Json对象,在浏览器中输入:http://127.0.0.1:8080/json4

结果如下:

Python的Bottle框架中返回静态文件和JSON对象的方法

Web程序难免会遇到访问失败的错误,那么怎样去捕获这些错误,Bottle可以用路由机制来捕捉错误,如下捕获403、404:

@error(403)
def mistake403(code):
  return 'The parameter you passed has the wrong format!'

@error(404)
def mistake404(code):
  return 'Sorry, this page does not exist!'

其他错误处理如法泡制!

Python 相关文章推荐
详解Python中DOM方法的动态性
Apr 11 Python
以911新闻为例演示Python实现数据可视化的教程
Apr 23 Python
win与linux系统中python requests 安装
Dec 04 Python
python+pandas生成指定日期和重采样的方法
Apr 11 Python
python实现人人自动回复、抢沙发功能
Jun 08 Python
python常用库之NumPy和sklearn入门
Jul 11 Python
python3文件复制、延迟文件复制任务的实现方法
Sep 02 Python
python画蝴蝶曲线图的实例
Nov 21 Python
pygame实现飞机大战
Mar 11 Python
Python实现自动签到脚本功能
Aug 20 Python
Python中常见的导入方式总结
May 06 Python
Python Django框架介绍之模板标签及模板的继承
May 27 Python
使用Python编写提取日志中的中文的脚本的方法
Apr 30 #Python
简单的连接MySQL与Python的Bottle框架的方法
Apr 30 #Python
Python的Bottle框架中实现最基本的get和post的方法的教程
Apr 30 #Python
Python中使用Beautiful Soup库的超详细教程
Apr 30 #Python
Python中正则表达式的详细教程
Apr 30 #Python
详解在Python程序中使用Cookie的教程
Apr 30 #Python
处理Python中的URLError异常的方法
Apr 30 #Python
You might like
综合图片计数器
2006/10/09 PHP
PHP反射类ReflectionClass和ReflectionObject的使用方法
2013/11/13 PHP
使用php清除bom示例
2014/03/03 PHP
php判断一个数组是否为有序的方法
2015/03/27 PHP
PHP递归实现层级树状展开
2016/04/01 PHP
javascript 关闭IE6、IE7
2009/06/01 Javascript
Ajax执行顺序流程及回调问题分析
2012/12/10 Javascript
javascript数组去重3种方法的性能测试与比较
2013/03/26 Javascript
JavaScript自动设置IFrame高度的小例子
2013/06/08 Javascript
JS/Jquery判断对象为空的方法
2015/06/11 Javascript
基于JavaScript如何实现私有成员的语法特征及私有成员的实现方式
2015/10/28 Javascript
详解JavaScript中双等号引起的隐性类型转换
2016/05/30 Javascript
AngularJS使用拦截器实现的loading功能完整实例
2017/05/17 Javascript
浅谈webpack打包之后的文件过大的解决方法
2018/03/07 Javascript
JS与CSS3实现图片响应鼠标移动放大效果示例
2018/05/04 Javascript
JS+HTML5实现获取手机验证码倒计时按钮
2018/08/08 Javascript
基于JQuery实现页面定时弹出广告
2020/05/08 jQuery
vue实现简单的登录弹出框
2020/10/26 Javascript
Vue +WebSocket + WaveSurferJS 实现H5聊天对话交互的实例
2020/11/18 Vue.js
Python ORM框架SQLAlchemy学习笔记之安装和简单查询实例
2014/06/10 Python
Python创建模块及模块导入的方法
2015/05/27 Python
Python 实现简单的电话本功能
2015/08/09 Python
Python并行分布式框架Celery详解
2018/10/15 Python
实例介绍Python中整型
2019/02/11 Python
详解PyTorch手写数字识别(MNIST数据集)
2019/08/16 Python
巧用HTML5给按钮背景设计不同的动画简单实例
2016/08/09 HTML / CSS
机关干部个人对照检查材料思想汇报
2014/09/28 职场文书
婚前保证书范文
2015/02/28 职场文书
2015年副班长工作总结
2015/05/15 职场文书
就业证明函
2015/06/17 职场文书
《金钱的魔力》教学反思
2016/02/20 职场文书
python3美化表格数据输出结果的实现代码
2021/04/14 Python
Java常用工具类汇总 附示例代码
2021/06/26 Java/Android
Pandas数据类型之category的用法
2021/06/28 Python
MySql子查询IN的执行和优化的实现
2021/08/02 MySQL
node快速搭建后台的实现步骤
2022/02/18 NodeJs