[python] web 的微型框架 bottle.py

  • 7035
  • 0

[python] web 的微型框架 bottle.py

上一次研究了 python 的 web framework。由於我的應用比較小,所以 web.py 是我比較喜愛的。而最近不小心找到一個小的 framework 叫做 bottle.py,它自稱為 micro framework,微型框架。沒想到,居然更對我的胃口。它有多小呢?它小到只有一個 py 檔 138k,它小到不用安裝,只要有 python,就可以執行!

from bottle import route, run, template

@route('/hello/<name>')
def index(name):
    return template('<b>Hello {{name}}</b>!', name=name)

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

 

以上是官網上的範例。從範例中可以看到它有內附 template,支援 routing (寫在 decorator 的地方) 以及變數,是很漂亮簡潔的寫法。

不過,它因為太小,以及為了可攜性,所以 http server 是使用 python 內的 WSGIRefServer(),這是只能每次處理一個 request。不過,這不是問題,既然它是使用 wsgi,所以有支援 wsgi 的 server,都可以當做是 bottle.py 的後台。

Server: Built-in HTTP development server and support for paste, fapws3, bjoern, Google App Engine, cherrypy or any other WSGI capable HTTP server.

有人是使用 bottle.py + cherrypy 的組合,我想我接下來會嘗試。但在開發期,或是在家只有5~6台電腦使用的狀況下,我想內建的就很夠用了。

 

 

 

分享