转载自:http://article.yeeyan.org/view/35282/136724

0.1. 核心特征

0.2. 下载/安装

1. 特征和示例

1.1. 路由

1.2. 模板

1.3. 静态文件、重定向和 HTTP 错误

1.4. POST、GET、头信息和 Cookies

1.5. HTTP 服务器

1.6. 没有的功能和已经的 Bugs

2. 许可证(MIT)

Bottle 是一个快速而简单的、由 Python 包装为一个单一文件的、没有额外依赖的 WSGI Web 框架。

0.1. 核心特征

路由:使用一个简单但有力的模式语法,映射 URLs 到代码。

模板:快速的内建模板引擎,并且支持 mako、jinja2 和 cheetah 模板。

服务器:内建 HTTP 开发服务器,并支持 paste、fapws3、flup、cherrypy 或其它任何有 WSGI 功能的服务器。

无依赖:所有东西都在一个单一的文件中,并且不依赖其它任何 Python 标准库。

0.2. 下载/安装

可以使用 easy_install -U bottle 来安装最后的稳定发行版,或仅下载最新的 bottle.py

并将它放置在你的项目目录里。没有任何对 Python 标准库的依赖。Bottle 运行在 Python 2.5+ 或 3.x(使用

2to3)上。

1. 特征和示例

不需要安装或配置。不依赖 Python 标准库。只需要取得 bottle.py,将它放置在你的项目目录并开始编码即可。

from bottle import route, run

@route('/')

def index():

return 'Hello World!'

run(host = 'localhost', port = 8080)

这就是所有。运行你的代码并访问 http://localhost:8080/。

1.1. 路由

使用 @route() 修饰器来绑定 URLs 到你的处理函数。命名参数可被用来生成更美观的 URLs。

@route('/hello/:name')

def hello(name):

return 'Hello, %s' % name

1.2. 模板

Bottle 包含一个名为 SimpleTemplate 的简单和轻量快速的模板引擎。仅返回一个填充了模板变量的字典和传递一个模板名称给 @view 修饰器。

@route('/hello/template/:names')

@view('hello')

def template_hello(names):

names = names.split(',')

return dict(title = 'Hello World', names = names)

接着这里是模板“./views/hello.tpl”:

〈html〉

〈head〉

〈title〉{{title}}〈/title〉

〈/head〉

〈body〉

%for name in names:

〈p〉你好,〈strong〉{{name}}〈/strong〉〈/p〉

%end

〈/body〉

〈/html〉

Bottle 让切换其它模板引擎变得简单。支持 mako、jinja2 和 cheetah。

from bottle import mako_view as view

1.3. 静态文件、重定向和 HTTP 错误

使用这些便利的帮助来进行常规的任务。

from bottle import send_file, redirect, abort

@route('/static/:filename')

def static_file(filename):

send_file(filename, root = '/path/to/static/files')

@route('/wrong/url')

def wrong():

redirect('/right/url')

@route('/restricted')

def restricted():

abort(401, 'Sorry, access denied.')

1.4. POST、GET、头信息和 Cookies

就像使用一个 dict() 一样简单。

from bootle import request, response, route

@route('/hello/cookie')

def cookie():

name = request.COOKIES.get('name', 'Stranger')

response.headers['Content-Type'] = 'text/plain'

return 'Hello, %s' % name

@route('/hello/cookie', method = 'POST')

def set_cookie():

if 'name' in request.POST:

name = request.POST['name']

response.COOKIES['name'] = name

return 'OK'

1.5. HTTP 服务器

Bootle 有一个内建的 HTTP 服务器,但替代的也支持 cherrypy、flup、paste 和 fapws3。

from bottle import PasteServer

run(server = PasteServer)

1.6. 没有的功能和已知的 Bugs

Bottle 还未包括:

模型和 ORMs:选择你自己的(SQLAlchemy、Elixir)。

HTML-帮助、Session、身份和认证:由你自己完成。

脚手架:对不起,没有。

2. 许可证(MIT)

Copyright (c) 2009, Marcel Hellkamp.

Permission

is hereby granted, free of charge, to any person obtaining a copy of

this software and associated documentation files (the "Software"), to

deal in the Software without restriction, including without limitation

the rights to use, copy, modify, merge, publish, distribute, sublicense,

and/or sell copies of the Software, and to permit persons to whom the

Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE

SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR

IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,

FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL

THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR

OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,

ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR

OTHER DEALINGS IN THE SOFTWARE.

python bottle框架 重定向_Bottle:Python Web 框架相关推荐

  1. python bottle框架 重定向_Python的web框架bottle静态文件的路径

    这几天想用bottle来做一个简单的基于web页面的小应用,在调用显示静态文件时被路径卡了半天,现在把问题和解决办法写出来备用和分享给有需要的人. 先上代码: from bottle import s ...

  2. Spring - Java/J2EE Application Framework 应用框架 第 12 章 Web框架

    第 12 章 Web框架 12.1. Web框架介绍 Spring的web框架是围绕分发器(DispatcherServlet)设计的,DispatcherServlet将请求分发到不同的处理器,框架 ...

  3. 它号称 Python 中性能最高的异步 Web 框架:超详细 Sanic 入门指南!

    △点击上方"Python猫"关注 ,回复"2"加入交流群 作者:古明地盆 来源:https://www.cnblogs.com/traditional/p/14 ...

  4. python十大框架_python 十大web框架排名总结

    0 引言 python在web开发方面有着广泛的应用.鉴于各种各样的框架,对于开发者来说如何选择将成为一个问题.为此,我特此对比较常见的几种框架从性能.使用感受以及应用情况进行一个粗略的分析. 1 D ...

  5. Python学习笔记:Day5 编写web框架

    前言 最近在学习深度学习,已经跑出了几个模型,但Pyhton的基础不够扎实,因此,开始补习Python了,大家都推荐廖雪峰的课程,因此,开始了学习,但光学有没有用,还要和大家讨论一下,因此,写下这些帖 ...

  6. python数据处理框架_python 最快 web 框架 Sanci 快速入门

    简介 Sanic 是一个和类Flask 的基于Python3.5+的web框架,它编写的代码速度特别快. 除了像Flask 以外,Sanic 还支持以异步请求的方式处理请求.这意味着你可以使用新的 a ...

  7. python django flask介绍_Python开发WEB框架Flask详细介绍

    Flask简介 Flask是一个相对于Django而言轻量级的Web框架. 和Django大包大揽不同,Flask建立于一系列的开源软件包之上,这其中 最主要的是WSGI应用开发库Werkzeug和模 ...

  8. luci框架-LUA的一个web框架使用

    转自:http://blog.csdn.net/initphp/article/details/17527639 LUCI 这个在百度上搜索除了一篇我的百度文库 luci 的介绍文章之外,前三页都是些 ...

  9. python web框架 多线程_python 简单web框架: Bottle

    基本映射 映射使用在根据不同URLs请求来产生相对应的返回内容.Bottle使用route() 修饰器来实现映射. 1 2 3 4 5 from bottle import route, run@ro ...

最新文章

  1. 011_fastdfs-client-java模块
  2. 使用canvas实现360水球波动
  3. javascript 温故而知新 getBoundingClientRect
  4. vim 命令学习(高级篇)
  5. Socket 套接字
  6. python substr_python数据分析-数据对象(一)
  7. jQuery中的.bind()、.live()和.delegate()之间区别分析,学习jquery
  8. 改善深层神经网络:超参数调整、正则化以及优化 —— 3.1调试处理
  9. C++中时间相关函数的使用
  10. 报错:Unchecked runtime.lastError:Could not establish connection. Receiving end does not exist.
  11. elment-ui的table组件多行合并
  12. linux双系统安装教程
  13. VS2015番茄安装教程
  14. QT如何给exe添加图标
  15. 水的智慧:孔子、老子、禅语 人生处世当如水,善待一切
  16. RAS--远程访问服务
  17. STM32F103高级定时器死区时间的计算
  18. UE4 AI移动到 出现的BUG以及解决方案
  19. web前端常用网址大全
  20. POJ 1076 Bowl 笔记

热门文章

  1. arm手机刷linux,arm-从0开始刷机(linux下)
  2. JavaWeb项目:新闻发布系统03(新闻系统的功能完善)
  3. Oracle外键约束reference,oracle外键约束
  4. chrony配置服务器时间同步
  5. MATLAB实现二维稳态导热
  6. ie浏览器报错对象不支持此属性或方法
  7. 2022DASCTF Apr X FATE 防疫挑战赛复现
  8. voltDB官方文档第三章翻译
  9. 密码学实验6 维吉尼亚密码
  10. JPA - Persistence与EntityManagerFactory