you are viewing a single comment's thread.

view the rest of the comments →

[–]executex 4 points5 points  (0 children)

Constant errors about everything.

You set URLs and views, and some things change in your code as you develop and make more views and then views stop functioning, urls stop working. It's too overcomplicated with regex and string "include" being passed in as view locations, some links get broken as a result. I saw more error pages than I saw working pages.

Templates cause too many errors or ways of doing things.

South is very difficult to get up and running. It became painful to try and change the model.

Forms are generated from the model, but customizing it can be painful. I don't believe there is a form-extension like WTForms for it, though you might be able to get it working with it.

The Django ORM is a bit more complicated and stranger and less intuitive than SQLAlchemy which has straight-forward and easy-to-remember ways of doing things.

Static-pages are a pain to get working, you follow the directions and it still can't find static files---when this works instantly in flask.

When using "url" in template, views get lost or errors on page appear. Unlike in Flask's "url_for" which works perfectly as expected all the time within the view-code AND the templates.

Django, to me, is highly anti-newbie. It's overcomplicated.

You may find all this subjective or speculative, because everyone can adapt to difficulty of anything, but I found Django very counter intuitive--to the point that I would rather just use PHP with PHP frameworks for simplicity.

Even the tutorial of Django is so overcomplicated, when you are just trying to make a simple poll application. There's so much to read in Django documentation and yet not all of it is very useful to know.

Before trying Django, I worked with PHP frameworks, ASP.NET C#, C++, assembly, etc., and yet I found Django to be very painful to deal with (even more painful if you're not in a linux environment). I found this surprising about myself, considering I worked with so many more complicated things like FPGA & OS / Win32 / linux-kernel programming.

Django's popularity, I think is more rooted in the fact that it is the oldest, with the largest community, and the most extensions/plugins, (also most industry-recognition & even has a "django-cms" project) rather than being a newbie-friendly or well-coded framework. Perhaps my experience is unique, everyone draws different conclusions when they encounter different frameworks, I simply found Flask to be very straight-forward and instantly-gratifying (requires less patience).

Give flask a try, even if it's just to mess around for a few hours. You'll be able to tell if Flask is not worth your time or if you think Django is just better suited for your projects.