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中使用PIPE操作Linux管道
Feb 04 Python
Python实现截屏的函数
Jul 25 Python
Python设计实现的计算器功能完整实例
Aug 18 Python
scrapy spider的几种爬取方式实例代码
Jan 25 Python
使用python采集脚本之家电子书资源并自动下载到本地的实例脚本
Oct 23 Python
使用Django2快速开发Web项目的详细步骤
Jan 06 Python
Django框架创建mysql连接与使用示例
Jul 29 Python
python统计指定目录内文件的代码行数
Sep 19 Python
python运用sklearn实现KNN分类算法
Oct 16 Python
pygame实现俄罗斯方块游戏(AI篇1)
Oct 29 Python
TensorFlow:将ckpt文件固化成pb文件教程
Feb 11 Python
tensorflow的ckpt及pb模型持久化方式及转化详解
Feb 12 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
77A一级收信机修理记
2021/03/02 无线电
PHP utf-8编码问题,utf8编码,数据库乱码,页面显示输出乱码
2013/04/08 PHP
php封装的表单验证类完整实例
2016/10/19 PHP
PHP 以POST方式提交XML、获取XML,解析XML详解及实例
2016/10/26 PHP
jquery ajax jsonp跨域调用实例代码
2013/12/11 Javascript
JQuery弹出炫丽对话框的同时让背景变灰色
2014/05/22 Javascript
JavaScript检测字符串中是否含有html标签实现方法
2015/07/01 Javascript
JS+CSS实现分类动态选择及移动功能效果代码
2015/10/19 Javascript
浅析Bootstrap缩略图组件与警示框组件
2016/04/29 Javascript
JavaScript中split与join函数的进阶使用技巧
2016/05/03 Javascript
jquery ajax局部加载方法详解(实现代码)
2016/05/12 Javascript
NodeJS和BootStrap分页效果的实现代码
2016/11/07 NodeJs
js is_valid_filename验证文件名的函数
2017/07/19 Javascript
js链表操作(实例讲解)
2017/08/29 Javascript
JS库之Particles.js中文开发手册及参数详解
2017/09/13 Javascript
vue实现验证码按钮倒计时功能
2018/04/10 Javascript
vue 实现边输入边搜索功能的实例讲解
2018/09/16 Javascript
vue-cli 打包后提交到线上出现 "Uncaught SyntaxError:Unexpected token" 报错
2018/11/06 Javascript
Python实现字符串与数组相互转换功能示例
2017/09/22 Python
Python numpy 点数组去重的实例
2018/04/18 Python
Python实现的KMeans聚类算法实例分析
2018/12/29 Python
Python numpy中矩阵的基本用法汇总
2019/02/12 Python
如何用Python破解wifi密码过程详解
2019/07/12 Python
Python3.x+迅雷x 自动下载高分电影的实现方法
2020/01/12 Python
利用css3 translate完美实现表头固定效果
2017/02/28 HTML / CSS
css3实现信纸/同学录效果的示例代码
2018/12/11 HTML / CSS
Html5 滚动穿透的方法
2019/05/13 HTML / CSS
中海讯通笔试题
2015/09/15 面试题
期终自我鉴定
2014/02/17 职场文书
学校对教师的评语
2014/04/28 职场文书
创意婚礼策划方案
2014/05/18 职场文书
办理信用卡工作证明
2014/09/30 职场文书
介绍信格式
2015/01/30 职场文书
《巨人的花园》教学反思
2016/02/19 职场文书
Django框架中表单的用法
2022/06/10 Python
vue递归实现树形组件
2022/07/15 Vue.js