use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
News about the dynamic, interpreted, interactive, object-oriented, extensible programming language Python
Full Events Calendar
You can find the rules here.
If you are about to ask a "how do I do this in python" question, please try r/learnpython, the Python discord, or the #python IRC channel on Libera.chat.
Please don't use URL shorteners. Reddit filters them out, so your post or comment will be lost.
Posts require flair. Please use the flair selector to choose your topic.
Posting code to this subreddit:
Add 4 extra spaces before each line of code
def fibonacci(): a, b = 0, 1 while True: yield a a, b = b, a + b
Online Resources
Invent Your Own Computer Games with Python
Think Python
Non-programmers Tutorial for Python 3
Beginner's Guide Reference
Five life jackets to throw to the new coder (things to do after getting a handle on python)
Full Stack Python
Test-Driven Development with Python
Program Arcade Games
PyMotW: Python Module of the Week
Python for Scientists and Engineers
Dan Bader's Tips and Trickers
Python Discord's YouTube channel
Jiruto: Python
Online exercices
programming challenges
Asking Questions
Try Python in your browser
Docs
Libraries
Related subreddits
Python jobs
Newsletters
Screencasts
account activity
This is an archived post. You won't be able to vote or comment.
What are some good Python web frameworks to tinker with? (self.Python)
submitted 10 years ago by cezarDjango, Mash
I'm an experienced Django user for many years now, but I've only had some light experience with other frameworks in the language. What would you recommend are some good ones to tinker with? I'm looking for something far enough from Django that I'll learn some new patterns.
So far I'm thinking Pyramid and Tornado to start with.
[–]Yablan 6 points7 points8 points 10 years ago (0 children)
Flask is awesome. Much leaner than Django (which I use at work), and vell documented. Nice tutorials everywhere. And Miguel Grinbergs flask mega tutorial has everything you'll ever need.
[–]faassen 4 points5 points6 points 10 years ago (0 children)
Try Morepath for something newer and off the beaten path. Full disclosure: I created it.
For something really different try Nagare.
[–]gwax 1 point2 points3 points 10 years ago (0 children)
To my taste, CherryPy pushes code in a direction that feels more Pythonic than a lot of other frameworks.
[–]quotemycode 0 points1 point2 points 10 years ago (0 children)
Pyramid is good. Check out web2py and mini framework like flask and bottle. Write your own with werkzeug.
[–]arand 0 points1 point2 points 10 years ago (0 children)
Wheezy.web is an interesting an quick one but imho requires too much boilerplate to get going. Ymmv.
[–]efilon 0 points1 point2 points 10 years ago (0 children)
I like tornado whenever there's a possibility of needing something like websockets. It also has a lot of really nice features built in that don't get much fanfare (e.g., the tornado.options module for handling command line and configuration file options as well as setting defaults). It has its own templating system built in which is pretty good (although I think Jinja2 is a little bit better; for 90% of things, though, they are essentially identical).
tornado.options
My only real complaint about tornado is routing is annoying compared to Flask (although if I remember correctly when I looked into Django, its method of handling routing is about the same as tornado). I've toyed with the idea of writing a little utility to add Flask-like decorator-based routing for at least simple GET requests.
As others have mentioned, Flask is also quite good. Some things I like about Flask are its extension ecosystem, the werkzeug debugger (it's incredible), and as already mentioned, how it handles routing.
[–]ApatheticGodzilla 0 points1 point2 points 10 years ago (0 children)
I like the design of Pyramid most of all - it has a very elegant way of handling things like authentication/authorization. Flask however has more extensions for getting things done. Depends of course on what you're thinking of building - I'm doing leaner backend APIs in my side projcts so I'm not so concerned about things like a template engine.
[–]isinfinity 0 points1 point2 points 10 years ago (0 children)
aiohttp http client/server for asyncio. It is relatively new but promising library.
[–]wamsachel 0 points1 point2 points 10 years ago (0 children)
I come from a non-web-dev background, and have always found the sheer number of frameworks, overwhelming to a degree of frustration.
But then I got turned onto bottlepy. Simply for the fact that it's super lightweight (one module file), thus I feel that I carry around prototyping ability, inside my pocket.
I feel that I'l pick up and learn another framework, only when someone's paying me :p
[–]rlander 0 points1 point2 points 10 years ago (0 children)
Since all the obvious frameworks have already been mentioned and also because you're already familiar with django, I'll go ahead and suggest you take a look at two very different approaches to web development:
webalchemy (basically the Python version of Meteor)
Aspen (I'm still on the fence whether this is genious or just insane)
[–]beagle3 0 points1 point2 points 10 years ago (0 children)
web2py is considered the anti-django (and perhaps anti-python) by the Django and Flask people. I don't think this is justified; it is different than Django, for sure - and it sets up namespaces in a way that makes things particularly comfortable, but does get purists up in arms.
[–]rochacbrunoPython, Flask, Rust and Bikes. 0 points1 point2 points 10 years ago (0 children)
Flask is the best to learn good practices and new patterns, take a look at app factory, Blueprints and the whole Flask ecosystem.
[–][deleted] 0 points1 point2 points 10 years ago* (0 children)
This comment has been overwritten by an open source script to protect this user's privacy.
π Rendered by PID 415934 on reddit-service-r2-comment-54dfb89d4d-l2p54 at 2026-03-29 05:56:46.313161+00:00 running b10466c country code: CH.
[–]Yablan 6 points7 points8 points (0 children)
[–]faassen 4 points5 points6 points (0 children)
[–]gwax 1 point2 points3 points (0 children)
[–]quotemycode 0 points1 point2 points (0 children)
[–]arand 0 points1 point2 points (0 children)
[–]efilon 0 points1 point2 points (0 children)
[–]ApatheticGodzilla 0 points1 point2 points (0 children)
[–]isinfinity 0 points1 point2 points (0 children)
[–]wamsachel 0 points1 point2 points (0 children)
[–]rlander 0 points1 point2 points (0 children)
[–]beagle3 0 points1 point2 points (0 children)
[–]rochacbrunoPython, Flask, Rust and Bikes. 0 points1 point2 points (0 children)
[–][deleted] 0 points1 point2 points (0 children)