The hot new development framework

I’m hearing more and more about Django. Pownce uses it. Zooomr uses it. I keep hearing more about it at developer events and seeing more and more developers using it. The developers who’ve told me about it say they like it a lot more than Ruby on Rails — they like it’s based on Python and that they report it lets them develop high-performance apps faster than other frameworks. When Leah Culver, lead developer of Pownce, told me about it while waiting in line for the iPhone, she had high praises for it. If you’re a developer, what do you think?

87 thoughts on “The hot new development framework

  1. I think the most important question would be: how scalable a framework can be ? we are using Django but not sure if it can hold very high load … any experience ?

  2. I think the most important question would be: how scalable a framework can be ? we are using Django but not sure if it can hold very high load … any experience ?

  3. @Frank

    Django is super-easy to install on Windows: i’ve been using it for development on Windows 2003 Server and XP for over a year now and i never had a problem.

    Provided you have TortoiseSVN these are the steps:
    - checkout Django’s trunk
    - python setup.py install

    That’s it, really!

    If you need a nice IDE be sure to checkout PyDev (it’s an Eclipse plugin) but that’s really a pain to setup. Alternatively you might use Komodo Edit which is not mind-blowing but works fine… BTW wasn’t RadRails dead?

    L.

  4. @Frank

    Django is super-easy to install on Windows: i’ve been using it for development on Windows 2003 Server and XP for over a year now and i never had a problem.

    Provided you have TortoiseSVN these are the steps:
    - checkout Django’s trunk
    - python setup.py install

    That’s it, really!

    If you need a nice IDE be sure to checkout PyDev (it’s an Eclipse plugin) but that’s really a pain to setup. Alternatively you might use Komodo Edit which is not mind-blowing but works fine… BTW wasn’t RadRails dead?

    L.

  5. DJango was very easy to setup on Windows. Maybe you don’t understand Python at all? You should probably take some time to learn the language and how it works with your OS before attempting to build on a web application on top of it. Sadly the ruby on rails crowd got people started without “knowning” ruby. I am sure it will turn up some great maintainable web applications.

  6. DJango was very easy to setup on Windows. Maybe you don’t understand Python at all? You should probably take some time to learn the language and how it works with your OS before attempting to build on a web application on top of it. Sadly the ruby on rails crowd got people started without “knowning” ruby. I am sure it will turn up some great maintainable web applications.

  7. “Its been hell getting Django installed on Windows”

    I haven’t deployed on Windows, but getting it running with the dev webserver is really easy, and I’ve had no trouble turning around and running the stuff I’ve developed on Windows under mod_python on webfaction’s hosting.

    I don’t know about screencasts, because, I don’t find screencasts to be very useful, anyway. The pace is always off they are either too slow, or they breeze over something important, and I have to go back over it 10 times to try and make out what happened on the screen. Give me a well written tutorial any day.

  8. “Its been hell getting Django installed on Windows”

    I haven’t deployed on Windows, but getting it running with the dev webserver is really easy, and I’ve had no trouble turning around and running the stuff I’ve developed on Windows under mod_python on webfaction’s hosting.

    I don’t know about screencasts, because, I don’t find screencasts to be very useful, anyway. The pace is always off they are either too slow, or they breeze over something important, and I have to go back over it 10 times to try and make out what happened on the screen. Give me a well written tutorial any day.

  9. Frank -

    While “not ready for prime time” yet, I do have a http://www.instantdjango.com up and running, and will soon finish my first tutorial.

    You can download something I call “instant django”, which is a no-installation-required development environment for Django, which runs on Windows. It even runs from a USB thumb drive. It mostly works for the official tutorials on the django project site.

    Check it out, and let me know about any bugs that you find. Don’t forget to read the disclaimer on the my site: I am a total newbie to django.

    -cjlesh

  10. Frank -

    While “not ready for prime time” yet, I do have a http://www.instantdjango.com up and running, and will soon finish my first tutorial.

    You can download something I call “instant django”, which is a no-installation-required development environment for Django, which runs on Windows. It even runs from a USB thumb drive. It mostly works for the official tutorials on the django project site.

    Check it out, and let me know about any bugs that you find. Don’t forget to read the disclaimer on the my site: I am a total newbie to django.

    -cjlesh

  11. I work primarily in Ruby/Rails at work and on my own time. I’ve sought out, as a new years resolution, to learn a new language this year. That language is Python (which of course would entail django). I’ve also heard a lot of good things about it, and I can’t say (from experience) that I do or don’t think it’s better than Ruby/Rails. However, I’ve began sifting through a Python book, and I must say, as a beginner, I really, really like the Ruby language a lot more than Python.

    In theory, the open-ended block structures based on spacing/indentation is a great idea, but it’s almost too open-ended for me. I like the closure I get with blocks in Ruby. I absolutely love it’s readability, and it’s simply an amazing language altogether. Of course, it all boils down to an opinion, so I just thought I would share mine.

  12. I work primarily in Ruby/Rails at work and on my own time. I’ve sought out, as a new years resolution, to learn a new language this year. That language is Python (which of course would entail django). I’ve also heard a lot of good things about it, and I can’t say (from experience) that I do or don’t think it’s better than Ruby/Rails. However, I’ve began sifting through a Python book, and I must say, as a beginner, I really, really like the Ruby language a lot more than Python.

    In theory, the open-ended block structures based on spacing/indentation is a great idea, but it’s almost too open-ended for me. I like the closure I get with blocks in Ruby. I absolutely love it’s readability, and it’s simply an amazing language altogether. Of course, it all boils down to an opinion, so I just thought I would share mine.

  13. hi frank,

    1) the irc channel and the django-user+dev forums are high traffic, you should be able to get help there
    2) as for editors: there is Vim+plugins, Emacs, TextMate or PyDev(refactoring, code completion, snippets etc.) just to give you a couple of choices
    3) besides the official Django book, there is this in the making:
    “Professional Python Frameworks: Web 2.0 Programming with Django and Turbogears” due in October
    5) I can not comment on windows but on *nix it’s super easy to install
    6) there are some screencasts (not on rails level but still):
    http://www.throwingbeans.org/django_screencasts.html
    http://blog.webfaction.com/django-screencast
    http://www.djangoproject.com/screencasts/model_syntax_change/

  14. hi frank,

    1) the irc channel and the django-user+dev forums are high traffic, you should be able to get help there
    2) as for editors: there is Vim+plugins, Emacs, TextMate or PyDev(refactoring, code completion, snippets etc.) just to give you a couple of choices
    3) besides the official Django book, there is this in the making:
    “Professional Python Frameworks: Web 2.0 Programming with Django and Turbogears” due in October
    5) I can not comment on windows but on *nix it’s super easy to install
    6) there are some screencasts (not on rails level but still):
    http://www.throwingbeans.org/django_screencasts.html
    http://blog.webfaction.com/django-screencast
    http://www.djangoproject.com/screencasts/model_syntax_change/

  15. > It’s probably a pain to install on Mac OS X as well.

    Actually, it’d dead simple to install on Mac OS X, since OS X comes with Python, MySQL, and Apache. I’ve never tried it on Windows, though, so I’m sure you’re right about that.

  16. > It’s probably a pain to install on Mac OS X as well.

    Actually, it’d dead simple to install on Mac OS X, since OS X comes with Python, MySQL, and Apache. I’ve never tried it on Windows, though, so I’m sure you’re right about that.

  17. Somethings I dont like about Django:

    1.0 will most likely not happen until next year (it was supposed to happen last summer and then this summer). Sure a lot of the code is stable and guaranteed to be in 1.0 but some things are still changing and until 1.0 things wont be guaranteed to have backwards-compatibility.

    Their aren’t any useful tools (like radrails or instantrails) for it.

    The only Django book is the one online which is the one they are writing.

    There are no screencasts of anyone showing how they do things. There are blogs with some little snippets of code but thats it.

    No forums are available, you have to use Google Groups.

    Its been hell getting Django installed on Windows, however someone did figure it out ( http://thinkhole.org/wp/django-on-windows/ ), this shouldnt be so hard and should of been documented better earlier on. It’s probably a pain to install on Mac OS X as well.

    All Python books only have 1 small chapter dedicated to talking about Web Development and its so basic its unusable.

    The Django “community/bloggers/developers” seems to be more doing more of their own thing and not sharing info as much as other language “communities” seem to.

  18. Somethings I dont like about Django:

    1.0 will most likely not happen until next year (it was supposed to happen last summer and then this summer). Sure a lot of the code is stable and guaranteed to be in 1.0 but some things are still changing and until 1.0 things wont be guaranteed to have backwards-compatibility.

    Their aren’t any useful tools (like radrails or instantrails) for it.

    The only Django book is the one online which is the one they are writing.

    There are no screencasts of anyone showing how they do things. There are blogs with some little snippets of code but thats it.

    No forums are available, you have to use Google Groups.

    Its been hell getting Django installed on Windows, however someone did figure it out ( http://thinkhole.org/wp/django-on-windows/ ), this shouldnt be so hard and should of been documented better earlier on. It’s probably a pain to install on Mac OS X as well.

    All Python books only have 1 small chapter dedicated to talking about Web Development and its so basic its unusable.

    The Django “community/bloggers/developers” seems to be more doing more of their own thing and not sharing info as much as other language “communities” seem to.

  19. Oliver, I do realize that was humor (and fairly funny, to boot!), but just to clear up any misconceptions: Django has no “scaffolding.” Rails does the scaffolding thing (although I believe it’s purely optional), but Django does not.

  20. Oliver, I do realize that was humor (and fairly funny, to boot!), but just to clear up any misconceptions: Django has no “scaffolding.” Rails does the scaffolding thing (although I believe it’s purely optional), but Django does not.

  21. Pingback: Geek And Poke
  22. Of the myriad technology decisions we had to make for fluther.com, django has been our best. The community is extremely responsive, and the biggest positive is that to my coder’s mind, things just *make sense*. Every time I dig under the hood, I’m always impressed.

  23. Of the myriad technology decisions we had to make for fluther.com, django has been our best. The community is extremely responsive, and the biggest positive is that to my coder’s mind, things just *make sense*. Every time I dig under the hood, I’m always impressed.

  24. Chris,
    I’m not sure I quite follow your example in comment #9.

    Don’t most of the frameworks store their application code outside of the public directory? I know django does, and I was under the impression that RoR did. With that being the case, I’m not sure what googling for a vulnerable file would get you.

  25. Chris,
    I’m not sure I quite follow your example in comment #9.

    Don’t most of the frameworks store their application code outside of the public directory? I know django does, and I was under the impression that RoR did. With that being the case, I’m not sure what googling for a vulnerable file would get you.

  26. I tried Django quickly but it lacks in many areas, espeically file uploading. Their “newforms” doesn’t even support it, and it was a terrible mess trying to use their “admin” app to change the uploaded filename to a random md5-hashed string or change the directory to something that isn’t based off of dates (such as model ids). Both of these problems were fixed in six lines in Rails using Rick Olson’s attachment_fu and overriding two methods. Django is good for CMS but if you’re trying to build a web app, use Rails instead. Better helper methods for views, more plugins, and Ruby uses rubygems which allows you to easily manage any gems such as rails and actually delete them as well. Python has nothing like this except for “easy_install” which not every program supports and is flakey.

Comments are closed.