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操作MongoDB基础知识
Nov 01 Python
python网络编程调用recv函数完整接收数据的三种方法
Mar 31 Python
python的staticmethod与classmethod实现实例代码
Feb 11 Python
pandas的object对象转时间对象的方法
Apr 11 Python
Python3之简单搭建自带服务器的实例讲解
Jun 04 Python
python中sys.argv函数精简概括
Jul 08 Python
Python调用服务接口的实例
Jan 03 Python
Python 2/3下处理cjk编码的zip文件的方法
Apr 26 Python
python实现微信机器人: 登录微信、消息接收、自动回复功能
Apr 29 Python
tensorflow 初始化未初始化的变量实例
Feb 06 Python
Python双链表原理与实现方法详解
Feb 22 Python
用python实现监控视频人数统计
May 21 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
做一个有下拉功能的留言版
2006/10/09 PHP
PHPCMS的使用小结
2010/09/20 PHP
在WINDOWS中设置计划任务执行PHP文件的方法
2011/12/19 PHP
在Win7 中为php扩展配置Xcache
2014/10/08 PHP
PHP+Mysql+jQuery查询和列表框选择操作实例讲解
2015/10/22 PHP
浅谈PHP5.6 与 PHP7.0 区别
2019/10/09 PHP
改进:论坛UBB代码自动插入方式
2006/12/22 Javascript
javascript内存管理详细解析
2013/11/11 Javascript
JS函数this的用法实例分析
2015/02/05 Javascript
javascript检测两个数组是否相似
2015/05/19 Javascript
15个常用的jquery代码片段
2015/12/19 Javascript
jQuery Mobile 触摸事件实例
2016/06/04 Javascript
微信小程序 wx.uploadFile在安卓手机上面the same task is working问题解决
2016/12/14 Javascript
在vue中通过axios异步使用echarts的方法
2018/01/13 Javascript
react.js组件实现拖拽复制和可排序的示例代码
2018/08/20 Javascript
Javascript三种字符串连接方式及性能比较
2019/05/28 Javascript
vue element-ui实现动态面包屑导航
2019/12/23 Javascript
Vue中关闭弹窗组件时销毁并隐藏操作
2020/09/01 Javascript
详解Typescript里的This的使用方法
2021/01/08 Javascript
python基础教程之基本内置数据类型介绍
2014/02/20 Python
Python实例一个类背后发生了什么
2016/02/09 Python
python中函数总结之装饰器闭包详解
2016/06/12 Python
使用Python通过win32 COM打开Excel并添加Sheet的方法
2018/05/02 Python
Python中一些深不见底的“坑”
2019/06/12 Python
python+excel接口自动化获取token并作为请求参数进行传参操作
2020/11/10 Python
python中绕过反爬虫的方法总结
2020/11/25 Python
python 爬取英雄联盟皮肤并下载的示例
2020/12/04 Python
python 利用openpyxl读取Excel表格中指定的行或列教程
2021/02/06 Python
环境科学专业个人求职信
2013/09/26 职场文书
护理专业毕业生自荐书
2014/05/24 职场文书
财务管理专业毕业生求职信
2014/06/02 职场文书
教师党员先进性教育自我剖析材料思想汇报
2014/09/24 职场文书
病危通知单
2015/04/17 职场文书
故意杀人案辩护词
2015/05/21 职场文书
2016年寒假社会实践活动心得体会
2015/10/09 职场文书
使用Cargo工具高效创建Rust项目
2022/08/14 Javascript