Hacker News new | past | comments | ask | show | jobs | submit login

The specific project I'm looking at is a small photo-sharing app for a newspaper website. Functionally simple, but with some pretty intense traffic spikes. Since it's a straightforward job I'd like to use it as an opportunity to switch to Python, which I've been itching to do for a while (alternative would be Symfony on PHP).

However I have a longer term concern, which is that I don't want to be learning a new framework for every project or have legacies with the "wrong" framework knocking around. This is why I framed the question in general terms.




Some stuff I know:

Django is great for learning very fast. It has all the documentation in one place. There's generally one way to do any one thing with Django.

Pyramid is super flexible because it's not much of a framework to begin with. Think of it as glue to stick together a bunch of components to handle specific parts of your app (like database ORM, cache, sessions etc) and you can use any components that you like. Pyramid is harder to pick up than Django though because of this reason.

Pyramid is faster than django on benchmarks I've seen on the web (but this will hardly matter in the real world in my opinion)

Both have some big projects executed using them(Disqus is written in Django and Reddit is written in pylons for examples)

There are a bunch of other python frameworks that I haven't used yet so I can't tell you anything about them.

I'm currently working on something using Pyramid so if you have something specific you want to know, I'll try and answer (I'm new to this too)

I'd recommend learning django first though. It's what you should look at if you want a quick inroad into python web frameworks without much time spent learning.


Build it in Django. Django was born at a local newspaper, and was specifically designed for the kind of projects that online newspapers tend to have (relatively straight forward publishing model, super-tight deadlines, extensible to handle all kinds of crazy unexpected requirements in the future).

A small photo sharing app that deals with occasional intense traffic spikes sits bang in the middle of Django's sweet spot (I'd suggest investigating the Django cache_page decorator, or maybe looking at integrating with Varnish).




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: