The Best IDE, Hosting, and Applications for Django
Join the DZone community and get the full member experience.
Join For FreeIn honor of the Django Advent event taking place over the next two weeks, DZone has listed some of the best IDEs, hosting services, and applications related to Django. Sometimes portrayed as "Python's answer to Rails," Django is an open source web application framework written in Python. Django's primary goal is to ease the creation of complex, database-driven websites by emphasizing component reusability, pluggability, rapid development, and the principle of DRY (Don't Repeat Yourself). The popular web framework is nearing its 1.2 release, which is set for March 9th.
Pydev - Pydev is a Python IDE for Eclipse that can be used to write applications in Python, Jython, and IronPython. This is a good choice for developers that are familiar with the Eclipse environment. It includes the IDE essentials like syntax highlighting, code analysis, code completion, refactoring, and debugging. If you add the web tools project (WTP), you'll get syntax highlighting in your templates.
Open Komodo - Komodo IDE supports Django right out of the box, specifically the Django syntax for templates. It also has a lot of features for other languages and frameworks, but it does have a considerable price for the commercial version. Komodo Edit is a free version that works fine if you're not worried about source control or debugging.
Slicehost - At $20 a month, they're a little more expensive, but some say that the root access on your own VPS is worth it. Users take their pick of any version of Django and a wide range of webservers and custom software. Slicehost's plans are divided into common in 'slices' which give customers a wide range of plans from 256 MB RAM/10GB storage all the way to 15.5GB RAM/620GB storage.
Linode - Linode also provides complete root access to your own machine, and for less money than Slicehost (Still starts at $20/mo. but gives you more storage and RAM). The only downside is that it takes a little more work setting up.

Google App Engine - The main reason for using Google App Engine over the other choices would be the free service. GAE requires you to use BigTable for storage, which isn't integrated with Django's ORM. If you're doing anything with the database side of things, you'll have to write a fair amount of GAE-specific code.
django-command-extensons: This application provides a ton of useful management commands. graph_models, for example, will output a .file compatible with the graphviz package. There are ways to hook this up to a url in the URLConf so that it will be regenerated whenever someone requests it. This is a really nice feature for data that is changing a lot, and where someone is watching over your work.
South: South lets you know if you've missed a schema migration or two and it is database independent. It can write the migrations for you and you can declare dependencies between apps so they will all migrate together correctly. syncdb can still be used for your non-migrated apps without it interfering.
django-tagging: This generic tagging application for Django projects allows developers to attach a number of tags to any Model instance. It also makes retrieval of these tags simple.
sorl.thumbnail: This is a simple and extensible way to generate thumbnails.
django-registration: This is a straightforward application that provides user registration for Django-based projects. The workflow is flexible and the default setup is fairly common.
django-filebrowser: It's an extension to the Django Admin-Interface that lets users browse directories on their server while uploading, deleting, renaming, and editing files. It also lets users include images and documents in their models and databases.
Satchmo: This is an open source framework for building online storefronts. It can help Django users create a customized shopping cart as well or port an existing Django-based shopping cart to another site.
Best Django IDEs

Open Komodo - Komodo IDE supports Django right out of the box, specifically the Django syntax for templates. It also has a lot of features for other languages and frameworks, but it does have a considerable price for the commercial version. Komodo Edit is a free version that works fine if you're not worried about source control or debugging.
Best Hosting Service for Django Applications
WebFaction - Since Django's earliest days, WebFaction has supported it with a reasonable price of $9.50 a month (if you're not prepaying for the year). They support not only the stable versions but the alpha releases as well, and the new versions of Django are added to their installer within a few hours of the release. Their out of box support for Django includes a one-click installer for Django and mod_wsgi. Users also get their own Apache2/mod_python instance for a high amount of flexibility. Their setup is so good that one doesn't really need to ask for help.Slicehost - At $20 a month, they're a little more expensive, but some say that the root access on your own VPS is worth it. Users take their pick of any version of Django and a wide range of webservers and custom software. Slicehost's plans are divided into common in 'slices' which give customers a wide range of plans from 256 MB RAM/10GB storage all the way to 15.5GB RAM/620GB storage.
Linode - Linode also provides complete root access to your own machine, and for less money than Slicehost (Still starts at $20/mo. but gives you more storage and RAM). The only downside is that it takes a little more work setting up.

Google App Engine - The main reason for using Google App Engine over the other choices would be the free service. GAE requires you to use BigTable for storage, which isn't integrated with Django's ORM. If you're doing anything with the database side of things, you'll have to write a fair amount of GAE-specific code.
Best General Purpose Django Applications
django-debug-toolbar: This is a debugging toolbar for Django that includes a variety of configurable information panels. Some of the panels include Django version, request timer, common HTTP headers, and SQL queries including time to execute and links to explain each query.django-command-extensons: This application provides a ton of useful management commands. graph_models, for example, will output a .file compatible with the graphviz package. There are ways to hook this up to a url in the URLConf so that it will be regenerated whenever someone requests it. This is a really nice feature for data that is changing a lot, and where someone is watching over your work.

django-tagging: This generic tagging application for Django projects allows developers to attach a number of tags to any Model instance. It also makes retrieval of these tags simple.
sorl.thumbnail: This is a simple and extensible way to generate thumbnails.
django-registration: This is a straightforward application that provides user registration for Django-based projects. The workflow is flexible and the default setup is fairly common.
django-filebrowser: It's an extension to the Django Admin-Interface that lets users browse directories on their server while uploading, deleting, renaming, and editing files. It also lets users include images and documents in their models and databases.

Django (web framework)
Integrated development environment
Application framework
Opinions expressed by DZone contributors are their own.
Comments