Hacker News new | past | comments | ask | show | jobs | submit login
Five Things I Hate About Django. (42topics.com)
25 points by shabda on April 18, 2008 | hide | past | favorite | 7 comments



I thought this would would be junk but they were valid points.

I dislike however when people state "AJAX in Django is Hard". Its not hard, there are just no helper functions. So AJAX is AJAX in Django. He explains that in the article but catchy titles are what people read and remember. The title should instead be "Django has no helper functions for AJAX"

That I agree with and think should be changed. Is anyone working on this?


There are AJAX helper functions in Django, they just don't produce JavaScript. Instead they make it stupidly easy to get back data in JSON, and most importantly leave which framework and everything else up to you.


I agree about the stupidly easy JSON handler -- I went from nought to finished app in about 10 minutes, when I wasn't even too sure what JSON was or why I should use it. Wikipedia helped a bit with the understanding, and Django just dumped the objects into JSON without any problem.

The article was basically valid but I didn't find myself thinking "yes, I hate those damn things as well." More like "well, that can be mildly inconvenient, but wtf, nobody's dead yet." I use jQuery for AJAX and it's so easy I'm not sure I even want it built in to Django.


"Bonus question: How can you generate a form with same form elements multiple (and variable number) times, ala what happens with edit_inline?"

That is very easy, just create multiple instances of the same form object, and give a unique prefix argument to each instance. See this blog post for more info: http://www.pointy-stick.com/blog/2008/01/06/django-tip-compl...


     6.This can only create a form with a fixed number of   
  fields. While there are ways to generate forms with  
  variable number of fields, (generate the Form class   
  programatically), they are not easy or well documented. 
  (Remind me to write such tutorial sometime.)
I don't know if there are many tutorials, but this is pretty trivial.

The rest are valid points.


One of the biggest drawbacks for me is the crazy assumption that I should check out directly from their repository and use whatever half baked thing happens to be in there at the time. Sure, I can use the stable version but then none of the plug-ins work. The whole Django website is built around the assumption that I'm running directly from the repository.


I think the author misses two of Django's biggest drawbacks (at least for me):

1. Lack of migrations

2. Poor REST support




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: