On Sat, Apr 13, 2013 at 9:03 PM, Mark Lybrand <mlybr...@gmail.com> wrote:
> Another question that comes to my mind, is there such a thing as a Django
> Package manager (kind of PPM for Perl or NPM for node or ruby gems or
> NuGet... well, you get the idea)?
>

Django is just python, so these things are part of python. Python has
PyPi, the Python Packaging Index, which anyone can publish their
packages to. This is then searched by pip, the Python Installer
Program.

pip, pypi and their closely related friend virtualenv allow you to
setup, upgrade and maintain all major python packages.

> Related: are there packages available to switch out the Django ORM (sort of
> like .Net has EF or NHibernate)?  Or to switch out the templating (like
> webforms vs. razor or rdoc vs haml, etc)?  Or basically, what are coming
> features that folks switch out when they get past the initial "learn to make
> a Django app" stage?

You can easily use any templating engine you fancy - some of our
legacy websites used a XML data store, and XSLT templates to render
HTML*, it was easy to reproduce that as a custom templating engine.
You lose any django integration with it though, things like
TEMPLATE_CONTEXT_PROCESSORS are part of django, they won't probably
won't plug in to Jinja2 (which is coming to Django itself at some
point, iirc).

For the ORM, yes, you can also swap that out for something like
SQLAlchemy.. but why? You lose access to any project written to use
Django's ORM, which is, err, all of them. You have to do your own
session handling, or rather, you can no longer use the DB session
backend. The downsides are so significant, that if I had to use a
project that required SQLAlchemy (it's a slightly more advanced ORM
than Django's, you can do things like composite keys), I wouldn't use
Django**.

Cheers

Tom

* I do NOT recommend this! XML+XSLT is easier than outputting raw HTML
from our own custom web apps implemented in C++, but that's about it!

** In fact, I'd probably alter the DB structure so that I didn't need
SQLAlchemy instead..

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-users+unsubscr...@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at http://groups.google.com/group/django-users?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to