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根据出生日期返回年龄的方法
Mar 26 Python
Python httplib模块使用实例
Apr 11 Python
介绍Python的Django框架中的静态资源管理器django-pipeline
Apr 25 Python
深入解析Python中的变量和赋值运算符
Oct 12 Python
python基于隐马尔可夫模型实现中文拼音输入
Apr 01 Python
python实现嵌套列表平铺的两种方法
Nov 08 Python
Python redis操作实例分析【连接、管道、发布和订阅等】
May 16 Python
Python函数中参数是传递值还是引用详解
Jul 02 Python
Python实现Selenium自动化Page模式
Jul 14 Python
Pytorch中Tensor与各种图像格式的相互转化详解
Dec 26 Python
通过实例解析Python return运行原理
Mar 04 Python
在django admin详情表单显示中添加自定义控件的实现
Mar 11 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(4) php 函数 补充2
2010/02/15 PHP
探讨Smarty中如何获取数组的长度以及smarty调用php函数的详解
2013/06/20 PHP
php function用法如何递归及return和echo区别
2014/03/07 PHP
PHP日志LOG类定义与用法示例
2018/09/06 PHP
php+ajax实现商品对比功能示例
2019/04/13 PHP
Laravel框架基础语法与知识点整理【模板变量、输出、include引入子视图等】
2019/12/03 PHP
URI、URL和URN之间的区别与联系
2006/12/20 Javascript
用 JSON 处理缓存
2007/04/27 Javascript
构造函数+原型模式构造js自定义对象(最通用)
2014/05/12 Javascript
javascript每日必学之多态
2016/02/23 Javascript
解决拦截器对ajax请求的拦截实例详解
2016/12/21 Javascript
使用Promise链式调用解决多个异步回调的问题
2017/01/15 Javascript
用file标签实现多图文件上传预览
2017/02/14 Javascript
web.js.字符串与正则表达式操作
2017/05/13 Javascript
详解通过JSON数据使用VUE.JS
2017/05/26 Javascript
详解mpvue scroll-view自动回弹bug解决方案
2018/10/01 Javascript
NodeJs实现简易WEB上传下载服务器
2019/08/10 NodeJs
Python读取图片EXIF信息类库介绍和使用实例
2014/07/10 Python
理解python中生成器用法
2017/12/20 Python
Python检测网络延迟的代码
2018/05/15 Python
Python+Pandas 获取数据库并加入DataFrame的实例
2018/07/25 Python
Python/ArcPy遍历指定目录中的MDB文件方法
2018/10/27 Python
Flask框架重定向,错误显示,Responses响应及Sessions会话操作示例
2019/08/01 Python
Python Scrapy图片爬取原理及代码实例
2020/06/12 Python
解决Python 写文件报错TypeError的问题
2020/10/23 Python
最新Python idle下载、安装与使用教程图文详解
2020/11/28 Python
Pedro官网:新加坡时尚品牌
2019/08/27 全球购物
大学生职业生涯设计书
2014/01/02 职场文书
区三好学生主要事迹
2014/01/30 职场文书
优秀毕业生自我鉴定
2014/02/11 职场文书
自我鉴定书
2014/03/24 职场文书
2014年社团工作总结范文
2014/11/27 职场文书
甲午风云观后感
2015/06/02 职场文书
Css预编语言及区别详解
2021/04/25 HTML / CSS
大型强子对撞机再次重启探索“第五种自然力”
2022/04/29 数码科技
HttpClient实现表单提交上传文件
2022/08/14 Java/Android