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三元运算符实现方法
Dec 17 Python
初步解析Python中的yield函数的用法
Apr 03 Python
利用python画一颗心的方法示例
Jan 31 Python
python实现字典(dict)和字符串(string)的相互转换方法
Mar 01 Python
Python中动态创建类实例的方法
Mar 24 Python
python实现机器学习之多元线性回归
Sep 06 Python
Python with标签使用方法解析
Jan 17 Python
Pycharm无法打开双击没反应的问题及解决方案
Aug 17 Python
如何使用PyCharm引入需要使用的包的方法
Sep 22 Python
Python3.9最新版下载与安装图文教程详解(Windows系统为例)
Nov 28 Python
python 爬虫网页登陆的简单实现
Nov 30 Python
两行代码解决Jupyter Notebook中文不能显示的问题
Apr 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的serialize序列化数据以及JSON格式化数据分析
2015/10/10 PHP
CI框架数据库查询缓存优化的方法
2016/11/21 PHP
PHP基于进程控制函数实现多线程
2020/12/09 PHP
js中字符替换函数String.replace()使用技巧
2011/08/14 Javascript
jQuery EasyUI API 中文文档 - NumberSpinner数值微调器使用介绍
2011/10/21 Javascript
jQuery筛选器children()案例详解(图文)
2013/02/17 Javascript
JS调用CS里的带参方法实例
2013/08/01 Javascript
node.js中的fs.lchown方法使用说明
2014/12/16 Javascript
JavaScript动态修改背景颜色的方法
2015/04/16 Javascript
javascript模拟php函数in_array
2015/04/27 Javascript
javascript删除元素节点removeChild()用法实例
2015/05/26 Javascript
JS模拟键盘打字效果的方法
2015/08/05 Javascript
简单介绍JavaScript数据类型之隐式类型转换
2015/12/28 Javascript
微信小程序实现打开内置地图功能【附源码下载】
2017/12/07 Javascript
JS实现运动缓冲效果的封装函数示例
2018/02/18 Javascript
在element-ui的select下拉框加上滚动加载
2019/04/18 Javascript
webpack 如何解析代码模块路径的实现
2019/09/04 Javascript
JavaScript进阶(四)原型与原型链用法实例分析
2020/05/09 Javascript
AutoJs实现刷宝短视频的思路详解
2020/05/22 Javascript
python判断设备是否联网的方法
2018/06/29 Python
python的中异常处理机制
2018/08/30 Python
快速解决docker-py api版本不兼容的问题
2019/08/30 Python
Django中间件拦截未登录url实例详解
2019/09/03 Python
Python连接字符串过程详解
2020/01/06 Python
如何利用python正则表达式匹配版本信息
2020/12/09 Python
外语专业毕业生自我评价分享
2013/10/05 职场文书
护士实习鉴定范文
2013/12/22 职场文书
幸福家庭事迹材料
2014/02/03 职场文书
租房协议书
2014/04/10 职场文书
幼儿园教研活动总结
2014/04/30 职场文书
国际贸易专业自荐信
2014/06/10 职场文书
2015年十月一日放假通知
2015/08/18 职场文书
如何在Python项目中引入日志
2021/05/31 Python
JPA如何使用entityManager执行SQL并指定返回类型
2021/06/15 Java/Android
Kubernetes关键组件与结构组成介绍
2022/03/31 Servers
ubuntu安装jupyter并设置远程访问的实现
2022/03/31 Python