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 Web框架Flask信号机制(signals)介绍
Jan 01 Python
Python中类的定义、继承及使用对象实例详解
Apr 30 Python
浅谈Python中数据解析
May 05 Python
Python 函数基础知识汇总
Mar 09 Python
python基础教程项目五之虚拟茶话会
Apr 02 Python
flask入门之表单的实现
Jul 18 Python
python生成1行四列全2矩阵的方法
Aug 04 Python
Tensorflow 实现分批量读取数据
Jan 04 Python
Python内置类型性能分析过程实例
Jan 29 Python
Python unittest工作原理和使用过程解析
Feb 24 Python
Python爬虫爬取杭州24时温度并展示操作示例
Mar 27 Python
Github 使用python对copilot做些简单使用测试
Apr 14 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
《PHP编程最快明白》第七讲:php图片验证码与缩略图
2010/11/01 PHP
php图片加水印原理(超简单的实例代码)
2013/01/18 PHP
深入PHP与浏览器缓存的分析
2013/06/03 PHP
php ci框架验证码实例分析
2013/06/26 PHP
服务器变量 $_SERVER 的深入解析
2013/07/02 PHP
ThinkPHP基本的增删查改操作实例教程
2014/08/22 PHP
用 Composer构建自己的 PHP 框架之使用 ORM
2014/10/30 PHP
PHP自动重命名文件实现方法
2014/11/04 PHP
微信公众平台接口开发入门示例
2014/12/24 PHP
php中数据库连接方式pdo和mysqli对比分析
2015/02/25 PHP
PHP封装的非对称加密RSA算法示例
2018/05/28 PHP
php 策略模式原理与应用深入理解
2019/09/25 PHP
JS实现点击图片在当前页面放大并可关闭的漂亮效果
2013/10/18 Javascript
js拼接html注意问题示例探讨
2014/07/14 Javascript
Javascript 数组去重的方法(四种)详解及实例代码
2016/11/24 Javascript
为你的微信小程序体积瘦身详解
2017/05/20 Javascript
利用canvas中toDataURL()将图片转为dataURL(base64)的方法详解
2017/11/20 Javascript
基于Vue的移动端图片裁剪组件功能
2017/11/28 Javascript
浅谈Redux中间件的实践
2018/07/27 Javascript
详解小程序开发经验:多页面数据同步
2019/05/18 Javascript
Python使用百度API上传文件到百度网盘代码分享
2014/11/08 Python
Python功能键的读取方法
2015/05/28 Python
python实现爬虫下载美女图片
2015/07/14 Python
基于windows下pip安装python模块时报错总结
2018/06/12 Python
DataFrame.to_excel多次写入不同Sheet的实例
2019/12/02 Python
python GUI库图形界面开发之PyQt5表单布局控件QFormLayout详细使用方法与实例
2020/03/06 Python
Python调用Redis的示例代码
2020/11/24 Python
HTML 5 input placeholder 属性如何完美兼任ie
2014/05/12 HTML / CSS
基于html5 canvas实现漫天飞雪效果实例
2014/09/10 HTML / CSS
美国批发零售网站:GearXS
2016/07/26 全球购物
消防安全宣传标语
2014/06/07 职场文书
小学绿色学校申报材料
2014/08/23 职场文书
行政专员岗位职责范本
2014/08/26 职场文书
2015年护士工作总结范文
2015/03/31 职场文书
离婚撤诉申请书范本
2015/05/18 职场文书
python自动化八大定位元素讲解
2021/07/09 Python