GSoC/GCI Archive
Google Summer of Code 2011

Django Software Foundation

Web Page:

Mailing List:

Django is a high-level Python Web framework originally developed at the Lawrence-Journal World. Django was designed to handle two challenges: the intensive deadlines of a newsroom and the stringent requirements of the experienced Web developers who wrote it. It lets you build high-performing, elegant Web applications quickly.


  • Composite Fields Django's ORM is a powerful tool which suits perfectly most use-cases, however, there are cases where having exactly one primary key column per table induces unnecessary redundancy. I propose a project that will lift this constraint and increase the flexibility of Django's database abstraction layer.
  • Revised form rendering The current form rendering is very limited in its flexibility and needs some serious overhaul. I propose a new way of rendering forms more dynamically and refactoring it to use template based layouts, reducing the amount of hardcoded HTML in django.
  • Template Engine Compilation and Runtime Refactoring Recent changes in the Python interpreter ecosystem made it obvious that the Jinja2 templating engine took a too naive approach to template compilation to excel on JIT interpreted Python versions. On top of that changes in Python itself in regards to AST compilation make new things possible without falling back to hacks as Jinja2 currently does. Because Django's template engine internally has some performance problems I propose writing a new template engine backend for Jinja2 and Django.