Python的Bottle框架中返回静态文件和JSON对象的方法
admin
2023-07-31 02:22:29
0

代码如下:

# -*- 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

结果如下:

2015430174409809.png (313×137)

其中的 root=\’.\’)或 root=\’./\’)表示在程序当前目录下,当然你也可以知道其他的路径如: root=\’/path/to/file\’

第二个路由@bottle.route(\’/json:json#[0-9]+#\’)返回一个Json对象,在浏览器中输入:http://127.0.0.1:8080/json4

结果如下:

2015430174429421.png (376×141)

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!\'

其他错误处理如法泡制!

相关内容

热门资讯

500 行 Python 代码... 语法分析器描述了一个句子的语法结构,用来帮助其他的应用进行推理。自然语言引入了很多意外的歧义,以我们...
定时清理删除C:\Progra... C:\Program Files (x86)下面很多scoped_dir开头的文件夹 写个批处理 定...
65536是2的几次方 计算2... 65536是2的16次方:65536=2⁶ 65536是256的2次方:65536=256 6553...
Mobi、epub格式电子书如... 在wps里全局设置里有一个文件关联,打开,勾选电子书文件选项就可以了。
scoped_dir32_70... 一台虚拟机C盘总是莫名奇妙的空间用完,导致很多软件没法再运行。经过仔细检查发现是C:\Program...
小程序支付时提示:appid和... [Q]小程序支付时提示:appid和mch_id不匹配 [A]小程序和微信支付没有进行关联,访问“小...
pycparser 是一个用... `pycparser` 是一个用 Python 编写的 C 语言解析器。它可以用来解析 C 代码并构...
微信小程序使用slider实现... 众所周知哈,微信小程序里面的音频播放是没有进度条的,但最近有个项目呢,客户要求音频要有进度条控制,所...
python查找阿姆斯特朗数 题目解释 如果一个n位正整数等于其各位数字的n次方之和,则称该数为阿姆斯特朗数。 例如1^3 + 5...
Apache Doris 2.... 亲爱的社区小伙伴们,我们很高兴地向大家宣布,Apache Doris 2.0.0 版本已于...