Can Someone Get Us A Real Django IDE?

So the more I work with Django the more I long for a solid development environment to work in. I use Wingware for much of my python development, with its rockin debugger and code completion, its more than I could ask for. Until the curse of the Java class. This quarter I’m taking a Java projects course, most of the class uses Eclipse but a few use Netbeans. My problem is, I got spoiled so fast by the incredible templates support, content suggestions, quick fixes and always dead on code completion. Going back to Wing feels like a halfway-there IDE. I know that pythons interpreted nature makes source completion much more difficult, now I would argue that with an interpreter, you could actually step through the code to some extent. However, I respect that dynamic objects are never gonna be easy to support. My beef is with the lack of support for super-popular frameworks (this goes for everybody!) Ruby on Rails has literally dozens of solid IDEs and a few that are just spectacular (see Aptana, or Netbeans). Why can’t I get even basic highlighting support for my Django templates? Why can’t I get any completion options on Models except my own?

Its just frustrating, Django is still a pleasure to develop in, even with just Gedit and a terminal, but is it really out of the question to consider providing a big pretty environment for those of us that like that?

I did dig up this and this. I guess its a step in the right direction, but its almost embarrassing next to the Rails environments.

13 Responses to “Can Someone Get Us A Real Django IDE?”

  1. Johannes Says:

    Hi!

    Well, we plan for long to add more Python support (and possible Django, too) in Anjuta. The framework is there but it’s just a matter of someone writing the plugins (e.g language-support-python).

    The new symbol-db framework that should hit trunk after freeze should also make autocompletion no really big deal.

    Anyway, we don’t have any python vulunteer that is doing that at the moment though we are working on python bindings to make it easier for people to create plugins.

  2. Anthony Batchelor Says:

    I usually use Eclipse with Aptana + PyDev + SubClipse.

    It’s not perfect (and eats resources like you wouldn’t believe) but is fairly good.

  3. Panos Says:

    “I did dig up this and this. I guess its a step in the right direction, but its almost embarrassing next to the Rails environments.”

    I don’t think using Vim for Django work is embarassing. With NERDTree it’s been quite a breeze.

  4. Matthew Says:

    Sun just hired a bunch of Python folks that will hopefully push Netbeans support for Python/Django to the level of Ruby/Rails, which is quite good if you’re into IDE’s.

  5. Kevin Kubasik Says:

    @Matthew: That’s cool to hear. Its not for every situation, but its nice when starting a project to have the facilities of an IDE to help set up the project, and test things (like sql queries) in one place. The code completion is the biggest thing for me, especially when working with new libraries.

  6. Mikko Ohtamaa Says:

    Eclipse + PyDev code completion works for Django. It has support for Django code completion as long as you just set PYTHONPATH to project settings correctly. Of course, Python has some problems to guess the type of the parameteter/return value due its dynamically typed nature. Imports and module level functions are completed perfectly. I am pretty sure that PyDev commercial extension had some advanced edit-time type solving. I heard that Py3k would have some type defining hints to solve this ugly problem.

    With Web Tools Platform plug-in and JSEclipse you will also have HTML syntax highlighting (applies for Django templates too), CSS syntax highlighting and a decend Javascript editor with code completion support.

    With PyDev Extension remote debugging support, one can debug and break server code step-by-step.

  7. Frej Soya Says:

    The best approach i’ve met is either eclipse+pydev+pydev commercial or textmate (I miss thee!).

  8. david Says:

    uh, it’s called emacs. Be a real programmer for once. stop looking for a crutch.

  9. Raging Gnu Says:

    Emacs + pymacs + ropemacs will give you everything you want, including refactoring. Templates in nxml-mode with xmlpe to ease validation problems. It’s beautiful.

  10. Rodrigo Says:

    Real programmers use butterflies.
    http://xkcd.com/378/

  11. Teilo Says:

    Real programmers are too busy coding to argue about which editor/IDE to use.

  12. balsagoth Says:

    Well, pida with vim its perfect. And by the way VIM has highlight to django templates.

  13. Omar Abid Says:

    nice post, here’s my review about django ide http://www.aptana.com/studio/download/

Leave a Reply