views:

113

answers:

3

Hi all,

Googling for the past week, but cannot finally decide which python web framework would be right for me. The web app I'm about to develop would be almost completely "pure" html with js (jQuery). Server side would have to do the following:

  • authentication
  • session management
  • caching
  • web services (almost all the on page data would be pulled with jQuery through web services)
  • secured web services (through some form of authentication; this is for remote accessing some of the web services though other web apps, desktop/mobile applications)

If there is a good tutorial/guide/idea for how to do this in Django I would be most thankfull if someone could share it as I already have experience with it. The thing that made me start thinking about other frameworks is Django's built in ORM. I know I could swap it with SQLAlchemy, but wouldn't go down that road if I'm not sure all the rest of the requirements is supported.

Thanks all in advance.

+1  A: 

Have a look at pylons the idea behind this framework is flexibility of components, and it comes with caching, sessions middleware (Beaker). You can also do RESTful web services using this. If you want to swap out components, no problem...it was designed for that.

dalton
+3  A: 

The best way to do web services in Django, if you choose that route, is to use piston. The combination of Django and Piston can certainly fulfil all the requirements you specify.

Daniel Roseman
Haven't heard of piston earlier; don't know how I missed it... Definitely looks like worth taking a try. Thanks!Before writing the question here I was very close to trying web2py - seemed like it covers what I need, but as I already have ~75 models written for django - piston preceeds :)
illuminated
+1  A: 

For me - there are two choices:

  1. Django - I find it much, much easier to learn and to work with than Pylons. Most of the time it just does what it is expected from it and doesn't stay on my way. Plus - there is django-piston that is designed for quick API making.
  2. Make your own stack - Using Werkzeug + SQLAlchemy + Jinja can yield some very nice results.

Bots options have very good documentation, communities and are easy to learn. If you prefer more modular approach - go for 2. If you can give up some freedom for better integration - go with Django.

Emil Ivanov