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开发中module模块用法实例分析
Nov 12 Python
Python编程实战之Oracle数据库操作示例
Jun 21 Python
Python实现利用最大公约数求三个正整数的最小公倍数示例
Sep 30 Python
Python RabbitMQ消息队列实现rpc
May 30 Python
python opencv 读取本地视频文件 修改ffmpeg的方法
Jan 26 Python
Django 日志配置按日期滚动的方法
Jan 31 Python
tensorflow实现对张量数据的切片操作方式
Jan 19 Python
Django 博客实现简单的全文搜索的示例代码
Feb 17 Python
python实现信号时域统计特征提取代码
Feb 26 Python
python对一个数向上取整的实例方法
Jun 18 Python
Python爬虫制作翻译程序的示例代码
Feb 22 Python
浅谈python中的多态
Jun 15 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中IP地址与整型数字互相转换详解
2014/08/20 PHP
PHP上传图片时判断上传文件是否为可用图片的方法
2016/10/20 PHP
完美解决thinkphp唯一索引重复时出错的问题
2017/03/31 PHP
修改Laravel自带的认证系统的User类的命名空间的步骤
2019/10/15 PHP
Prototype使用指南之ajax
2007/01/10 Javascript
在html页面中包含共享页面的方法
2008/10/24 Javascript
JS 强制设为首页的代码
2009/01/31 Javascript
javascript定义函数的方法
2010/12/06 Javascript
JavaScript 和 Java 的区别浅析
2013/07/31 Javascript
javascript中数组中求最大值示例代码
2013/12/18 Javascript
判断字符串的长度(优化版)中文占两个字符
2014/10/30 Javascript
jquery彩色投票进度条简单实例演示
2020/07/23 Javascript
Jquery中map函数的用法
2016/06/03 Javascript
js改变html的原有内容实现方法
2016/10/05 Javascript
JavaScript版经典游戏之扫雷游戏完整示例【附demo源码下载】
2016/12/12 Javascript
简单实现js悬浮导航效果
2017/02/05 Javascript
BootStrap的两种模态框方式
2017/05/10 Javascript
JavaScript实现form表单的多文件上传
2020/03/27 Javascript
AngularJS实现的JSONP跨域访问数据传输功能详解
2017/07/20 Javascript
canvas基础绘制-绚丽倒计时的实例
2017/09/17 Javascript
让网站自动生成章节目录索引的多个js代码
2018/01/07 Javascript
node.js使用 http-proxy 创建代理服务器操作示例
2020/02/10 Javascript
详解element上传组件before-remove钩子问题解决
2020/04/08 Javascript
5种Python单例模式的实现方式
2016/01/14 Python
python Celery定时任务的示例
2018/03/13 Python
如何将Pycharm中调整字体大小的方式设置为"ctrl+鼠标滚轮上下滑"
2020/11/17 Python
python爬虫beautifulsoup解析html方法
2020/12/07 Python
JBL英国官网:JBL UK
2018/07/04 全球购物
linux面试题参考答案(1)
2016/01/22 面试题
医学检验专业大学生求职信
2013/11/18 职场文书
机电一体化应届生求职信范文
2014/01/24 职场文书
刑事起诉书范文
2015/05/19 职场文书
借钱欠条怎么写
2015/07/03 职场文书
创业计划书之酒厂
2019/10/14 职场文书
600字作文之感受大自然
2019/11/27 职场文书
IDEA2021.2配置docker如何将springboot项目打成镜像一键发布部署
2021/09/25 Java/Android