Your SlideShare is downloading. ×
0
Python web frameworks
Python web frameworks
Python web frameworks
Python web frameworks
Python web frameworks
Python web frameworks
Python web frameworks
Python web frameworks
Python web frameworks
Python web frameworks
Python web frameworks
Python web frameworks
Python web frameworks
Python web frameworks
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Python web frameworks

2,372

Published on

Python web frameworks presentation by Nathan VanGheem. …

Python web frameworks presentation by Nathan VanGheem.
Material covered:
- The major frameworks around and differences between them
- Micro frameworks
- Templating languages
- The state of Python 3 and Python Web Technologies
- Brief ditty on NoSQL with MongoDB
- How to get started

The presentation video and sample code is available here:
http://zootlinux.blogspot.com/2011/10/october-newlug-presentation-python-web.html

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,372
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
52
Comments
0
Likes
3
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Python Web TechnologiesAn overview of the various Python web technologies
  • 2. What Ill Go Over● Frameworks● Micro Frameworks● Templating languages● The state of Python 3 and the web● NOSQL
  • 3. Frameworks Covered● Django● Pyramid● A brief mention of Pylons and Turbogears● Bluebream● web2py● Flask(micro-framework)● Bottle
  • 4. A note about WSGI"WSGI is the Web Server Gateway Interface. It is aspecification for web servers and application servers tocommunicate with web applications (though it can also be usedfor more than that). It is a Python standard, described in detailin PEP 333." ● Provides a way for reusable web components to easily work together through this specification ● Also allows you to easily deploy web application that follow this standard(gunicorn, mod_wsgi, uWSGI, etc)
  • 5. Django● "Full stack" framework● its own tightly integrated built-in ORM● built-in authentication strategy● nice, auto-"magic" backend● one monolithic package● no interaction really with other communities● great for CMS-like applications● URLs are generated from specifying regular expressions that map to python functions
  • 6. Pyramid● database backend agnostic but has supporting packages for sqlalchemy, zodb, mongodb.● no authentication policy built-in but has supported add-ons● great authorization policy● small footprint, fast, well tested and very well documented● VERY pluggable framework● URL pattern can use traversal and routes● "no opinion"● add-ons can be described as "opinions" for the framework.● demonstrating "khufu" opinion(SQLAlchemy, Jinja2, traversal)● built using zope technologies with the idea of rewriting all the bad of zope
  • 7. Turbogears and Pylons● "Full stack" frameworks● The pylons project has moved to using pyramid as its baseline.● turbogears and pylons already share a good deal● soo... Pyramid, Pylons and Turbogears pretty much share a lot of the core technologies and just have different opinions about what to do with them after that● Turbogears has the most "opinions"
  • 8. Bluebream● entreprisey● component-driven, interfaces, adapters, etc● zodb● works with other database adapters(have sqlalchemy support)● pyramid is built off of a lot of these components● uses buildout● where zope is now today● big stack, lots of dependencies
  • 9. web2py● FULL stack● built-in ORM● inspired by ruby on rails(so modules and method name map to urls)● admin interface with support of TTW development● coding by convention● not very pythonic● lots of "magic" going on
  • 10. Flask● micro framework● no built-in ORM support● uses routes● very simple● fast development● not as robust tools
  • 11. Bottle● Micro framework● 1 file for whole thing● not a very good built-in templating engine● no built-in ORM● initial look will seem a lot like flask
  • 12. Python 3 and the web...Some blockers: ● Webob ● PIL
  • 13. NOSQL notes(mongodb)● json-style storage● for massive "web scale"● sharding, replication, file storage● schemaless● http://www.mongodb.org/● mongokit - http://pypi.python.org/pypi/mongokit > j = { name : "mongo" }; {"name" : "mongo"} > t = { x : 3 }; { "x" : 3 } > db.things.save(j); > db.things.save(t); > db.things.find(); { "_id" : ObjectId ("4c2209f9f3924d31102bd84a"), "name" : "mongo" } { "_id" : ObjectId("4c2209fef3924d31102bd84b"), "x" : 3 }>
  • 14. Questions...

×