Bottle - Python Web Microframework

Post on 13-May-2015

2.631 views 2 download

description

Vorstellung des Python Web Microframeworks Bottle.

Transcript of Bottle - Python Web Microframework

Python Web Microframework

Markus Zapke-GründemannLeipzig Python User Group - 8.9.2009

Web Microframework

Python 2.5 oder 3.x

WSGI(Web Server Gateway Interface)

Routing

POST, GET, PUT, DELETE, HEAD

Cookies

Templates

Einfache Validatoren

Key/Value Datenbank

1 Datei936 Zeilen30460 Byte

MIT Lizenz

GitHub

bottle.paws.de

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

Beispiel 1

1 from bottle import route, run 2 3 @route('/hello/:name') 4 def index(name): 5 return 'Hello %s!' % name 6 7 run()

Beispiel 2

1 from bottle import route, run, send_file 2 3 @route('/static/:filename') 4 def static_file(filename): 5 send_file(filename, root='/path/to/static/files') 6 7 run()

Beispiel 3

1 from bottle import route, run, send_file 2 3 @route(r'/static/(?P<filename>.*)') 4 def static_file(filename): 5 send_file(filename, root='/path/to/static/files') 6 7 run()

Beispiel 4

1 <html> 2 <head> 3 <title>Welcome!</title> 4 </head> 5 <body> 6 <h1>Welcome!</h1> 7 %for name in names: 8 <p>Hello {{name}}!</p> 9 %end 10 </body> 11 </html>

Beispiel 5 1 from bottle import route, run, template 2 3 @route('/welcome/:names') 4 def welcome(names): 5 names = names.split(',') 6 return template('welcome', names=names) 7 8 run()

1 from bottle import request, route, run 2 3 @route('/user-agent') 4 def user_agent(): 5 return request._environ.get('HTTP_USER_AGENT') 6 7 run()

Beispiel 6

1 from bottle import route, run 2 3 @route(r'/get_object/(?P<id>[0-9]+)') 4 def get_id(id): 5 return "Object ID: %d" % int(id) 6 7 @route(r'/get_object/(?P<slug>[-\w]+)') 8 def get_slug(slug): 9 return "Slug: %s" % slug 10 11 run()

Beispiel 7

1 from bottle import route, run, validate 2 3 @route('/validate/:id/:price/:csv') 4 @validate(id=int, price=float, csv=lambda x: map(int, x.split(','))) 5 def validate_args(id, price, csv): 6 return "Id: %d, Price: %f, List: %s" % (id, price, repr(csv)) 7 8 run()

Beispiel 8

Lizenz

Dieses Werk ist unter einem Creative Commons Namensnennung-Weitergabe unter gleichen

Bedingungen 3.0 Unported Lizenzvertrag lizenziert. Um die Lizenz anzusehen, gehen Sie bitte zu

http://creativecommons.org/licenses/by-sa/3.0/ oder schicken Sie einen Brief an Creative Commons, 171 Second Street, Suite 300, San Francisco, California

94105, USA.