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.