News for hackers. Stuff that matters.
Re:Dropping Django by lacker on Wednesday August 19, 2009 @03:26PM (#773548)
I've had similar experiences... too often Django makes it difficult to do something really simple. If you are not building a newspaper-like site that fits exactly to the Django model, it gets annoying.

But it does support a lot of stuff out of the box, so it's still my favorite python web framework, and I have probably set up about a dozen different Django projects.

Re:Dropping Django by forsaken on Wednesday August 19, 2009 @04:13PM (#773670)
What problems did you exactly run into? I hear a lot of people say this, but never get good examples, which would hopefully make the framework better.
Re:Dropping Django by lacker on Sunday August 23, 2009 @02:21AM (#780287)
One problem I often run into is that the Django libraries expect the whole application to be run by something that uses manage.py, which sets particular os.environ settings. So if you make code dependent on a Django library, often it cannot be run any more by non Django code. The eventual result is that things like cron jobs and unit testing are second-class citizens.

Another problem is unicode. Current Django assumes you will deal with all strings as valid unicode, which is actually different from pre-1.0 Django. There is no way to store an arbitrary sequence of bytes without a unicode encoding. This makes perfect sense for a newspaper website, but is problematic for many other applications.

Another problem is imports in general. Django does a lot of work in __init__.py files which causes problems integrating it with other systems that do a lot of things at run time.

Re:Dropping Django by paulgb on Wednesday August 19, 2009 @05:58PM (#773887)
The article gave some examples that I've run into myself: using email addresses instead of usernames for authentication, and adding additional fields to the User class. I also dislike the template language. Why invent your own language and control structures when everyone using it knows python? Mako (http://www.makotemplates.org/) does a good job of not reinventing the wheel.
Re:Dropping Django by mtrichardson on Wednesday August 19, 2009 @06:21PM (#773928)
One of the main assumptions behind the Django templating language is that you don't need to know Python.

http://docs.djangoproject.com/en/dev/misc/design-philosophie...

"The Django template system recognizes that templates are most often written by designers, not programmers, and therefore should not assume Python knowledge."

In my experience this has often been the case.

Re:Dropping Django by paulgb on Wednesday August 19, 2009 @06:33PM (#773957)
I figured that had to do with it, but it doesn't really explain why they don't just use an equivalently powerful subset of python. Better yet, allow full python like Mako does, and let the designers decide what subset of that to use in templates.
Re:Dropping Django by racketman4 on Wednesday August 19, 2009 @08:07PM (#774142)
The template language isn't for you.
Re:Dropping Django by paulgb on Wednesday August 19, 2009 @08:12PM (#774148)
Which is why, given the choice, I would use something more like Mako.