The last framework, which I used, was Django. I enjoy a lot of things in that, like:
- The project structure is simple - there are not too many directories and files
- The admin interface
- Great documentation
- XML export-import
- The concept of Form objects: after you define a form, you can display the form in 1 line, you can even make a form from a database row (from an orm definition). [added on 30/12/2009]
- i18n [added on 31/12/2009]
But there are some limitations:
- as of december 2009 no model validation
- the templating system is only good as far as you don't need custom template tags
- the idea to separate the design from the logic seemed good, it is frustrating, that I cannot sum n numbers in the view [edited on 30/12/2009]
- the template language is not designer friendly
- the stack trace of an ex in a custom template tag is useless (if used with python 2.6). There is a patch for it, but it will go into django just in 1.2
- django's orm (to connect to legacy systems)
- cannot handle blob fields
- cannot handle multi-column pk fields
Is there another web framework which has the good points of django, and does not have the listed limitations? Or is it possible to solve some problems in django?
ps: I will update the list based on the answers. I am sure there are more aspects to discuss...
I am free to use a framework in any other language, as long as I can install the stuff on a linux server