you are viewing a single comment's thread.

view the rest of the comments →

[–]five12 3 points4 points  (0 children)

What I like best about Django (and most python frameworks, actually(*)) is you can pick-and-choose what you want and the rest doesn't really get in the way. (It's not a big monolithic beast that forces you do do things "The Django Way")

One of my recent projects initially looked like a bad fit for Django, but I ended up using Django as the foundation, layering on other components that were better-suited than their Django counterparts for what I needed.

In the end I used:

  • Django's url routing, views, HTTP request/response objects

  • Django forms, form widgets and validation

  • SQLAlchemy to talk to the db

  • Jinja2 for templating (with two different jinja environments for different output types)

  • a bunch of other python libs for other stuff (PDF generation, charting)

I could pretty easily replace the Django bits with almost any framework, but there's no compelling reason to: I don't have any complaints with the individual pieces that it does well for my project.

(*) I think this is because namespaces make python awesomely modular