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通过正则查找微博@(at)用户的方法
Mar 13 Python
Python字符串处理之count()方法的使用
May 18 Python
python下载图片实现方法(超简单)
Jul 21 Python
python语言中with as的用法使用详解
Feb 23 Python
pandas使用get_dummies进行one-hot编码的方法
Jul 10 Python
pandas把所有大于0的数设置为1的方法
Jan 26 Python
Win10环境python3.7安装dlib模块趟过的坑
Aug 01 Python
python实现一个猜拳游戏
Apr 05 Python
Django admin管理工具TabularInline类用法详解
May 14 Python
python实现移动木板小游戏
Oct 09 Python
基于OpenCV的路面质量检测的实现
Nov 04 Python
Python开发工具Pycharm的安装以及使用步骤总结
Jun 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 php_openssl.dll的作用
2013/07/01 PHP
PHP中error_reporting()用法详解
2015/08/31 PHP
PHP利用APC模块实现大文件上传进度条的方法
2015/10/29 PHP
基于Swoole实现PHP与websocket聊天室
2016/08/03 PHP
php 使用 __call实现重载功能示例
2019/11/18 PHP
关于Mozilla浏览器不支持innerText的解决办法
2011/01/01 Javascript
jquery封装的对话框简单实现
2013/07/21 Javascript
js给页面加style无效果的解决方法
2014/01/20 Javascript
jQuery简单实现禁用右键菜单
2015/03/10 Javascript
js实现文本框宽度自适应文本宽度的方法
2015/08/13 Javascript
详解微信小程序开发之下拉刷新 上拉加载
2016/11/24 Javascript
JS+html5 canvas实现的简单绘制折线图效果示例
2017/03/13 Javascript
Vue计算属性的使用
2017/08/04 Javascript
Vue 2.0学习笔记之Vue中的computed属性
2017/10/16 Javascript
js删除对象/数组中null、undefined、空对象及空数组方法示例
2018/11/14 Javascript
JQuery实现ajax请求的示例和注意事项
2018/12/10 jQuery
Mint UI组件库CheckList使用及踩坑总结
2018/12/20 Javascript
VUE实现自身整体组件销毁的示例代码
2020/01/13 Javascript
[09:34]2018DOTA2国际邀请赛寻真——永不放弃的iG
2018/08/14 DOTA
Python抓取Discuz!用户名脚本代码
2013/12/30 Python
Python批量修改文件后缀的方法
2014/01/26 Python
在Python中操作字典之setdefault()方法的使用
2015/05/21 Python
理解Python垃圾回收机制
2016/02/12 Python
理解生产者消费者模型及在Python编程中的运用实例
2016/06/26 Python
在Django同1个页面中的多表单处理详解
2017/01/25 Python
浅析python参数的知识点
2018/12/10 Python
关于sys.stdout和print的区别详解
2019/12/05 Python
python 写一个水果忍者游戏
2021/01/13 Python
瑞典灯具和照明网上商店:Lamp24.se
2018/03/17 全球购物
竞选班长演讲稿
2013/12/30 职场文书
园林技术个人的自我评价
2014/01/08 职场文书
高中生物教学反思
2014/02/05 职场文书
优秀护士先进事迹
2014/05/08 职场文书
研究生导师评语
2014/12/31 职场文书
Python序列化模块JSON与Pickle
2022/06/05 Python
windows系统安装配置nginx环境
2022/06/28 Servers