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 相关文章推荐
OpenCV实现人脸识别
Apr 07 Python
python读取excel指定列数据并写入到新的excel方法
Jul 10 Python
python中redis查看剩余过期时间及用正则通配符批量删除key的方法
Jul 30 Python
Python基本socket通信控制操作示例
Jan 30 Python
将python运行结果保存至本地文件中的示例讲解
Jul 11 Python
win10环境下配置vscode python开发环境的教程详解
Oct 16 Python
解决pycharm下pyuic工具使用的问题
Apr 08 Python
小 200 行 Python 代码制作一个换脸程序
May 12 Python
tensorflow使用L2 regularization正则化修正overfitting过拟合方式
May 22 Python
用python实现一个简单的验证码
Dec 09 Python
python 实现ping测试延迟的两种方法
Dec 10 Python
python中四舍五入的正确打开方式
Jan 18 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 构造函数construct的前下划线是双的_
2009/12/08 PHP
PHP下编码转换函数mb_convert_encoding与iconv的使用说明
2009/12/16 PHP
php getcwd与dirname(__FILE__)区别详解
2016/09/24 PHP
php array_map()函数实例用法
2021/03/03 PHP
Javascript里使用Dom操作Xml
2006/09/20 Javascript
深入分析js中的constructor和prototype
2012/04/07 Javascript
js控制input框只读实现示例
2014/01/20 Javascript
js获取判断上传文件后缀名的示例代码
2014/02/19 Javascript
jQuery源码解读之hasClass()方法分析
2015/02/20 Javascript
jquery实现兼容IE8的异步上传文件
2015/06/15 Javascript
简介AngularJS的视图功能应用
2015/06/17 Javascript
js实现横向伸展开的二级导航菜单代码
2015/08/28 Javascript
jquery trigger函数执行两次的解决方法
2016/02/29 Javascript
AngularJS 中的事件详解
2016/07/28 Javascript
jQuery插件Easyui设置datagrid的pageNumber导致两次请求问题的解决方法
2016/08/06 Javascript
jquery中done和then的区别(详解)
2017/12/19 jQuery
vue el-upload上传文件的示例代码
2020/12/21 Vue.js
[48:31]DOTA2-DPC中国联赛 正赛 Dynasty vs XG BO3 第一场 2月2日
2021/03/11 DOTA
深入理解python try异常处理机制
2016/06/01 Python
Python实现判断一个字符串是否包含子串的方法总结
2017/11/21 Python
Python Web程序部署到Ubuntu服务器上的方法
2018/02/22 Python
Python文件读写保存操作的示例代码
2018/09/14 Python
Python读取YUV文件,并显示的方法
2018/12/04 Python
关于Pytorch的MNIST数据集的预处理详解
2020/01/10 Python
python实现串口通信的示例代码
2020/02/10 Python
国际书籍零售商:Wordery
2017/11/01 全球购物
维多利亚的秘密官方旗舰店:VICTORIA’S SECRET
2018/04/02 全球购物
幼师自我鉴定范文
2013/10/01 职场文书
大学同学聚会邀请函
2014/01/29 职场文书
大学生学习2014全国两会心得体会
2014/03/13 职场文书
电脑售后服务承诺书
2014/03/27 职场文书
三万活动总结
2014/04/28 职场文书
2014年煤矿工作总结
2014/11/24 职场文书
公司地址变更通知
2015/04/25 职场文书
2015年秋季小学开学典礼主持词
2015/07/16 职场文书