Why Django Sucks
speakerdeck.com
Why Django Sucks
1–10 of 206 posts
Re: Why Django Sucks
#2Re: Why Django Sucks
#3Re: Why Django Sucks
#4Thanks for sharing. The site has a few other interesting presentations by the same speaker.
Re: Why Django Sucks
#5Re: Why Django Sucks
#6Any suggestions for making it easy to build REST style APIs? Is piston the #1 choice still?
Re: Why Django Sucks
#7- Error handling: Django error page is great, unless of course it's a AJAX request. Pylons does this in a much smarter way
- Django ORM is awful. Easy to use yes, but awful
- Django Auth is a "good intention" but awful implementation
- Django templates are sloooooow. Jinja 2 is an order of magnitude faster
Amongst other warts
Also, the author apparently found the hard way: don't use Django as an api server
I may sound critical of Django, but I think it's a "complex framework for simple usages", I mean, if you need low flexibility go for it, you'll do what you want really quickly.
Re: Why Django Sucks
#8Thanks for posting this. I use Django extensively and I never really felt any pain from the tightly coupled monolithic approach, but I always like improving my tools. I will check out Flask. Any suggestions for making it easy to build REST style APIs? Is piston the #1 choice still?
Re: Why Django Sucks
#9Solution: Use something that has no features.
I'm not sure myself how sarcastic I'm being, to be honest. There's some truth in there too (or I wouldn't have posted this). But of course your microframework doesn't have any dependency issues. Rip all those things out of Django and it wouldn't have any dependencies either. Put them all into Flask and it will inevitably have to choose between either having the same problem, or leaving vast swathes of functionality on the table because of the refusal to let the components work together so they stay separate.
Re: Why Django Sucks
#10You don't have to reinvent the wheel.
That is the fundamental problem of all micro-frameworks. They are so small they are incomplete. You may not like Django auth, but Flask has NO AUTH. You have to go get a third party auth system, or write your own. That means with Django I can get a site, with auth, up in just a few minutes. With Flask, you have to write a login page for the 1000th time in your life. It may be very simple to do that, but it's even simpler to do nothing at all.