Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Bottle - Python Web Microframework

3,367 views

Published on

Vorstellung des Python Web Microframeworks Bottle.

Published in: Technology
  • Be the first to comment

Bottle - Python Web Microframework

  1. 1. Python Web Microframework Markus Zapke-Gründemann Leipzig Python User Group - 8.9.2009
  2. 2. Web Microframework
  3. 3. Python 2.5 oder 3.x
  4. 4. WSGI (Web Server Gateway Interface)
  5. 5. Routing
  6. 6. POST, GET, PUT, DELETE, HEAD
  7. 7. Cookies
  8. 8. Templates
  9. 9. Einfache Validatoren
  10. 10. Key/Value Datenbank
  11. 11. 1 Datei 936 Zeilen 30460 Byte
  12. 12. MIT Lizenz
  13. 13. GitHub
  14. 14. bottle.paws.de
  15. 15. Beispiel 1 1 from bottle import route, run 2 3 @route('/') 4 def index(): 5 return 'Hello World!' 6 7 run()
  16. 16. Beispiel 2 1 from bottle import route, run 2 3 @route('/hello/:name') 4 def index(name): 5 return 'Hello %s!' % name 6 7 run()
  17. 17. Beispiel 3 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()
  18. 18. Beispiel 4 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()
  19. 19. 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 <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>
  20. 20. Beispiel 6 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()
  21. 21. Beispiel 7 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()
  22. 22. Beispiel 8 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()
  23. 23. 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.

×