Okay first of all I did try hard to love it but there are just so many annoying things about it that i really don’t like and here are some of them:

1) They have so many if statement that actually brakes the beauty of python, so you have if, ifchange, ifequal, and ifnotequal. Instead of just doing something like
{% if thisVariable == thatVariable %}

2) You cannot pass multiple arguments to custom filter, you can only pass 1 or 2 arguments, i don’t know what they were thinking when they decided this, but i hope they fix this quickly coz not all of time you only have to pass 1 or 2 arguments. (http://code.djangoproject.com/ticket/1199)

3) Templates are so strict that you cannot use underscore on an object. While this is good in terms of security and design, it adds up to your production time. Solving this would bring us to the next number

4) You need to use filter even if you don’t like to, say you just like to compare 2 numbers, ideally if #1 would be followed then its {% if a > b %} but nope, you have to do it on your custom filter. See everything that is not on the build-in filters of django you have to do it on your own even if that feature is part of python.

5) You cannot have 0 arguments on filters, say you just want to check if something is logged in or not, you cannot call the filter with {{ is_login }} but you need to pass a dummy argument like {{ 1|is_login }}

Now i know im just new with django but this stuff makes me feel that i’m not using python anymore, i say this when compared it to other templating system like smarty. Its a template engine but somehow you still feel that your using php. I hope django fix their template system

Share and Enjoy:
  • Digg
  • Reddit
  • Slashdot
  • del.icio.us
  • StumbleUpon
  • TwitThis
  • Fark
  • Facebook
  • Technorati
  • Sphinn
  • Furl
  • Google
  • Mixx