Alternatives to Django for Python based Web Development? [closed] Alternatives to Django for Python based Web Development? [closed] django django

Alternatives to Django for Python based Web Development? [closed]


I've only ever used Django and I love it, but here's a couple others (I think Flask is your best bet for a very small and very lightweight web app)

Flask

"Flask is a microframework for Python based on Werkzeug, Jinja 2 and good intentions." - http://flask.pocoo.org/

Pylons

"Rather than focusing on a single web framework, the Pylons Project will develop a collection of related technologies. The first package from the Pylons Project was the Pyramid web framework. Other packages have been added to the collection over time, including higher-level components and applications. We hope to evolve the project into an ecosystem of well-tested, well-documented components which interoperate easily." - http://www.pylonsproject.org/

Grok

"Grok is a web application framework for Python developers. It is aimed at both beginners and very experienced web developers. Grok has an emphasis on agile development. Grok is easy and powerful." - http://grok.zope.org/

TurboGears

"TurboGears will help you to create a database-driven, ready-to-extend application in minutes. All with code that is as natural as writing a function, designer friendly templates, easy AJAX on the browser side and on the server side and with an incredibly powerful and flexible Object Relational Mapper (ORM)." - http://www.turbogears.org/

More Python Framework Resources

After a little more digging I found this resource: http://wiki.python.org/moin/WebFrameworks/


I've used web2py for a couple small projects and really liked it.

It is pretty lightweight, has great documentation, and in my experience very simple to deploy.I've never used Django, so I'm not sure how it compares.

A few hello worlds:

def hello1():    return "Hello World"def hello5():    return HTML(BODY(H1(T('Hello World'),_style="color: red;"))).xml() # .xml to serializedef hello3():    return dict(message=T("Hello World"))

The corresponding view for hello3:

{{extend 'layout.html'}}<h1>{{=message}}</h1>


Use web.py can be found at http://webpy.org/ Very simple URL handling and lots of built in functionality but still light weight