Bottle是什么?说实话,我也是最近在CPYUG上看到有人用到了bottle框架+GAE才知道的。

Bottle is a fast and simple WSGI web-framework for Python packed into a single file with no external dependencies.

而我准备写一两个新的GAE项目,我实在不想用Django这样重的东西了,因此在这个凌晨学习一下bottle,边学习边做笔记吧,打算学完再睡。

官方网站:http://bottle.paws.de/

Core Features

  • Routes: Mapping URLs to code with a simple but powerful pattern syntax.
  • Templates: Fast build-in template engine and support for mako, jinja2 and cheetah templates.
  • Server: Build-in HTTP development server and support for paste, fapws3, flup, cherrypy or any other WSGI capable server.
  • No dependencies: All in a single file and no dependencies other than the Python standard library.

安装:
1、执行命令:easy_install -U bottle,这样可以安装在你的电脑上。
2、或者直接下载 http://github.com/defnull/bottle/raw/master/bottle.py ,放到项目目录里。

前提:Bottle runs with Python 2.5+ and 3.x (using 2to3)

最简单的Helloworld:
把bottle.py放到一个目录里,在同一目录新建一个py文件,内容是:

1
2
3
4
5
6
7 from bottle import route, run @route(’/’)
def index():
return ‘Hello World!’

run(host=‘localhost’, port=8080)

运行这一py文件,然后访问http://localhost:8080/,即可看到结果。使用Ullipad调试,也很方便。
可以想象,这个东西放在GAE上是多么地方便啊,再也不用上传像Django那么多东西了。

其他的,照着例子一步步做下去,很简单。

我看了一个小时多一点就看完了,照着例子写完了代码。

在download那块代码有问题,我用了Bottle的debug模式看了看,改了一下就好了。
alert()函数,显示中文会出现500错误,这个还没有跟,改天再看看。

周一晚上再看看tpl模版和mako,然后就准备开始写新项目的代码了。一点点完善吧,总得有个开始。