Which is the easiest Python web application framework to get started with, for general use?
Asked Answered
S

5

5

Which is the easiest Python web application framework to get started with, for general use?

Referring to easiest - I mean one which a short learning curve / time, at least in order to be able to use it for fairly simple apps. I have worked on non-trivial Ruby on Rails projects earlier, so it is not that I can't learn a more complex framework, it's just that for this particular app, I do not want to spend a lot of time learning the framework that I use - since this is more of an experimental app to test the idea - see below for more on that. If it turns out that the app idea is useful, I have no problem about later changing to a different framework and rewriting the entire app in that, after learning that framework properly.

I want to create a small web app - a personal productivity tool. Initially at least, it will be only for my personal use, though later I may consider opening it up to use by others, under whatever terms. Right now, I just want to prototype the idea and then use it some, myself, on a day-to-day basis, for a while, to get a feel for whether the app is actually useful or not for my productivity. By "general use" (in the title of this question), I mean that the suggested Python web app framework should not be specialized to any particular area, such as, say, Zope may (not sure) be more suited for creating CMS's (Content Management Systems). Also, the framework preferably should not put restrictions on what I can do, except for any restrictions that may be inherent in, or common to, all web app frameworks. (As an example of that last statement, the HTTP request/response cycle is, I guess, common to all, so all web app frameworks, whether in Python or not, put that restriction on the user/developer, that they have to implement their app in that style. Oh yes, and the framework should support creating database-backed web apps (which I guess most do, but mentioning it anyway). I should mention that I have tried out CherryPy (with SQLite) a little - not enough yet to decide whether it is suitable or not, also had some errors which I am working on resolving, but am anyway looking for other suggestions as well.

Thanks for any suggestions.

Sylvanus answered 10/8, 2011 at 19:52 Comment(4)
This is a matter of opinion. Read wiki.python.org/moin/WebFrameworks for a long list. Most popular is probably Django.Joycelynjoye
Do you even want a web framework? Personally, for some small projects I just go bare bones mod_python.Genitalia
Either Django or CherryPy. The design goals are a little different.Charioteer
@Andrew Lee: Thanks for the suggestion. In fact, just after I posted the original question, I thought why not just plain Python + the CGI module to start with, and then switch to a lightweight framework after doing at least some prototyping. But had not thought of mod_python as an option. Will explore that.Sylvanus
S
8

I think you'll find web2py to be one of the easiest to set up, learn, and use (those are among its primary goals). It makes it easy to do simple things (and even many complex things), but still has a great deal of power and flexibility. It was inspired by Rails, so your familiarity with Rails may make it even easier to pick up. If you have any questions, there's a very helpful and responsive mailing list.

There was a recent review in InfoWorld: [Overview | web2py]. And a recent presentation.

Stationer answered 11/8, 2011 at 2:42 Comment(0)
L
5

Django is by far the most popular. Documentation is excellent, which will help you get up and running.

Linda answered 10/8, 2011 at 19:56 Comment(1)
I second Django, since this is probably the easiest framework to learn.Richel
P
3

Here are some "it fits in my brain" Python web frameworks

These all lack ORMs, but you are free to use one of your choice (sqlalchemy, Storm) etc.

Pyknic answered 10/8, 2011 at 20:17 Comment(0)
H
3

web.py is probably the simplest.

Hun answered 10/8, 2011 at 20:17 Comment(0)
D
0

Plone is probably the simplest, but Django is the most popular. It's also extremely well documented.

Distil answered 10/8, 2011 at 19:57 Comment(2)
I would not consider Plone as the simplest; Zope/Plone are the heavyweight, but also most feature rich Python web frameworks. Django lacks many, many of the features Zope/Plone has!Pyknic
Yeah? Maybe my perception is skewed because I picked up Plone in a few hours and it was the first one I learned, but Django seemed to take me a few days to get the hang of it and I learned it later.Distil

© 2022 - 2024 — McMap. All rights reserved.