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 04 Python
详解Python 模拟实现生产者消费者模式的实例
Aug 10 Python
python装饰器实例大详解
Oct 25 Python
Python操作MySQL数据库的三种方法总结
Jan 30 Python
解决Django的request.POST获取不到内容的问题
May 28 Python
Centos 升级到python3后pip 无法使用的解决方法
Jun 12 Python
解决pandas使用read_csv()读取文件遇到的问题
Jun 15 Python
python读取excel指定列数据并写入到新的excel方法
Jul 10 Python
PyCharm搭建Spark开发环境实现第一个pyspark程序
Jun 13 Python
python pandas获取csv指定行 列的操作方法
Jul 12 Python
python生成word合同的实例方法
Jan 12 Python
python b站视频下载的五种版本
May 27 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
一个可以删除字符串中HTML标记的PHP函数
2006/10/09 PHP
php 常用类汇总 推荐收藏
2010/05/13 PHP
网站用php实现paypal整合方法
2010/11/28 PHP
PHP中文件缓存转内存缓存的方法
2011/12/06 PHP
zend optimizer在wamp的基础上安装图文教程
2013/10/26 PHP
php实现分页工具类分享
2014/01/09 PHP
php计算数组相同值出现次数的代码(array_count_values)
2015/01/20 PHP
js类的静态属性和实例属性的理解
2009/10/01 Javascript
Jquery操作radio的简单实例
2014/01/06 Javascript
AngularJS基础知识
2014/12/21 Javascript
分享两个手机访问pc网站自动跳转手机端网站代码
2020/12/24 Javascript
jQuery向后台传入json格式数据的方法
2015/02/13 Javascript
Vue.js报错Failed to resolve filter问题的解决方法
2016/05/25 Javascript
BackBone及其实例探究_动力节点Java学院整理
2017/07/14 Javascript
在vue项目中安装使用Mint-UI的方法
2017/12/27 Javascript
vue spa应用中的路由缓存问题与解决方案
2019/05/31 Javascript
vue自定义指令实现仅支持输入数字和浮点型的示例
2019/10/30 Javascript
python编写网页爬虫脚本并实现APScheduler调度
2014/07/28 Python
深入浅析Python字符编码
2015/11/12 Python
python迭代器与生成器详解
2016/03/10 Python
详解Python中 __get__和__getattr__和__getattribute__的区别
2016/06/16 Python
Python新手们容易犯的几个错误总结
2017/04/01 Python
浅谈python中列表、字符串、字典的常用操作
2017/09/19 Python
python实现简单遗传算法
2018/03/19 Python
pandas读取CSV文件时查看修改各列的数据类型格式
2019/07/07 Python
基层工作经历证明
2014/01/13 职场文书
关于打架的检讨书
2014/01/17 职场文书
小学教师师德反思
2014/02/03 职场文书
中级会计大学生职业生涯规划书
2014/09/16 职场文书
学生检讨书范文
2015/01/27 职场文书
团代会闭幕词
2015/01/28 职场文书
家长会开场白和结束语
2015/05/29 职场文书
单位工作证明范本
2015/06/15 职场文书
现实表现证明材料
2015/06/19 职场文书
新兵入伍决心书
2015/09/22 职场文书
演讲开头怎么书写?
2019/08/06 职场文书