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 相关文章推荐
pip 错误unused-command-line-argument-hard-error-in-future解决办法
Jun 01 Python
使用FastCGI部署Python的Django应用的教程
Jul 22 Python
如何实现删除numpy.array中的行或列
May 08 Python
python中csv文件的若干读写方法小结
Jul 04 Python
Python实现栈的方法详解【基于数组和单链表两种方法】
Feb 22 Python
Python捕获异常堆栈信息的几种方法(小结)
May 18 Python
Python如何基于Tesseract实现识别文字功能
Jun 05 Python
keras做CNN的训练误差loss的下降操作
Jun 22 Python
记一次django内存异常排查及解决方法
Aug 07 Python
PyCharm 2020.2.2 x64 下载并安装的详细教程
Oct 15 Python
python实现图片,视频人脸识别(opencv版)
Nov 18 Python
Python中的程序流程控制语句
Feb 24 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计算整个mysql数据库大小的方法
2015/06/19 PHP
php去掉文件前几行的方法
2015/07/29 PHP
yii2 commands模式以及配置crontab定时任务的方法
2017/08/19 PHP
阿里云Win2016安装Apache和PHP环境图文教程
2018/03/11 PHP
网络之美 JavaScript中Get和Set访问器的实现代码
2010/09/19 Javascript
JavaScript 函数replace深入了解
2013/03/14 Javascript
JS嵌套函数调用上下文的问题解决
2014/03/26 Javascript
中文输入法不触发onkeyup事件的解决办法
2014/07/09 Javascript
jQuery前端框架easyui使用Dialog时bug处理
2014/12/05 Javascript
js实现仿Windows风格选项卡和按钮效果实例
2015/05/13 Javascript
百度地图API之本地搜索与范围搜索
2015/07/30 Javascript
jQuery满屏焦点图左右滚动特效代码分享
2015/09/07 Javascript
实例详解jQuery结合GridView控件的使用方法
2016/01/04 Javascript
JS中的forEach、$.each、map方法推荐
2016/04/05 Javascript
jQuery中数据缓存$.data的用法及源码完全解析
2016/04/29 Javascript
jQuery中选择器的基础使用教程
2016/05/23 Javascript
Angularjs在初始化未完毕时出现闪烁问题的解决方法分析
2016/08/05 Javascript
Bootstrap datepicker日期选择器插件使用详解
2017/07/26 Javascript
使用JS判断移动端手机横竖屏状态
2018/07/30 Javascript
配置node服务器并且链接微信公众号接口配置步骤详解
2019/06/21 Javascript
[04:21]狐狸妈带你到现场 DOTA2 TI中国区预选赛线下赛路线指引
2014/05/22 DOTA
跟老齐学Python之坑爹的字符编码
2014/09/28 Python
Django 权限认证(根据不同的用户,设置不同的显示和访问权限)
2019/07/24 Python
python实现异常信息堆栈输出到日志文件
2019/12/26 Python
Django中的session用法详解
2020/03/09 Python
Django用数据库表反向生成models类知识点详解
2020/03/25 Python
Python sql注入 过滤字符串的非法字符实例
2020/04/03 Python
如何用python写个模板引擎
2021/01/14 Python
详解CSS3弹性伸缩盒
2020/09/21 HTML / CSS
实例教程 利用html5和css3打造一款创意404页面
2014/10/20 HTML / CSS
Nordgreen英国官网:斯堪的纳维亚设计师手表
2018/10/24 全球购物
linux面试题参考答案(10)
2013/11/04 面试题
反四风对照检查材料思想汇报
2014/09/16 职场文书
2015年党员个人自我评价
2015/03/03 职场文书
2019求职信:应届生求职信范文
2019/04/24 职场文书
使用PDF.js渲染canvas实现预览pdf的效果示例
2021/04/17 Javascript