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 相关文章推荐
10款最好的Web开发的 Python 框架
Mar 18 Python
Python中用format函数格式化字符串的用法
Apr 08 Python
利用Opencv中Houghline方法实现直线检测
Feb 11 Python
Python实现字符串的逆序 C++字符串逆序算法
May 28 Python
Python实现base64编码的图片保存到本地功能示例
Jun 22 Python
python logging重复记录日志问题的解决方法
Jul 12 Python
Python rstrip()方法实例详解
Nov 11 Python
在Pycharm中对代码进行注释和缩进的方法详解
Jan 20 Python
python图片二值化提高识别率代码实例
Aug 24 Python
关于PyCharm安装后修改路径名称使其可重新打开的问题
Oct 20 Python
Python基础之教你怎么在M1系统上使用pandas
May 08 Python
如何利用opencv判断两张图片是否相同详解
Jul 07 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
ThinkPHP跳转页success及error模板实例教程
2014/07/17 PHP
微信公众号支付之坑:调用支付jsapi缺少参数 timeStamp等错误解决方法
2016/01/12 PHP
各种效果的jquery ui(接口)介绍
2008/09/17 Javascript
js对象的比较
2011/02/26 Javascript
基于jquery的无缝循环新闻列表插件
2011/03/07 Javascript
JavaScript常用判断写法大全(推荐)
2016/05/30 Javascript
ES6中Array.copyWithin()函数的用法实例详解
2017/09/16 Javascript
Windows安装Node.js报错:2503、2502的解决方法
2017/10/25 Javascript
Vue组件库发布到npm详解
2018/02/17 Javascript
vue中的watch监听数据变化及watch中各属性的详解
2018/09/11 Javascript
axios 封装上传文件的请求方法
2018/09/26 Javascript
微信小程序如何访问公众号文章
2019/07/08 Javascript
vue filter 完美时间日期格式的代码
2019/08/14 Javascript
node实现爬虫的几种简易方式
2019/08/22 Javascript
微信小程序实现手势滑动效果
2019/08/26 Javascript
解决layui批量传值到后台操作时出现传值为空的问题
2019/09/28 Javascript
用Node写一条配置环境的指令
2019/11/14 Javascript
vue使用element-ui实现表单验证
2020/12/13 Vue.js
[00:23]DOTA2群星共贺开放测试 25日无码时代来袭
2013/09/23 DOTA
在Python下尝试多线程编程
2015/04/28 Python
Ubuntu 16.04 LTS中源码安装Python 3.6.0的方法教程
2016/12/27 Python
Python Flask框架模板操作实例分析
2019/05/03 Python
python常用数据重复项处理方法
2019/11/22 Python
编写python代码实现简单抽奖器
2020/10/20 Python
真正了解CSS3背景下的@font face规则
2017/05/04 HTML / CSS
Giglio美国站:意大利奢侈品购物网
2018/02/10 全球购物
酒店工作职员求职简历的自我评价
2013/10/23 职场文书
大学毕业感言一句话
2014/02/06 职场文书
学校与家长安全责任书
2014/07/23 职场文书
八一建军节营销活动方案
2014/08/31 职场文书
毕业生代领毕业材料的授权委托书
2014/09/29 职场文书
护士工作心得体会
2016/01/25 职场文书
vue如何批量引入组件、注册和使用详解
2021/05/12 Vue.js
Vue的列表之渲染,排序,过滤详解
2022/02/24 Vue.js
如何用六步教会你使用python爬虫爬取数据
2022/04/06 Python
springboot为异步任务规划自定义线程池的实现
2022/06/14 Java/Android