django-formrenderingtools / docs / about / alternatives.txt


This document lists some projects which provide similar or complementary


`django-floppyforms`_ deals with form widgets, which are not in the scope of
``django-formrenderingtools``. The two projects offer complementary

Gsoc2011: Revised form rendering

In 2011, the `Revised form rendering project`_, during Google Summer of Code,
tried to:

1. merge `django-floppyforms`_ in core Django;
2. add similar functionality for form layouts in core Django.

Part one was done pretty quick.

Part two raised lots of discussions. The resulting plan was quite big. And
(as far as I know) didn't succeed.

Even if ``django-formrenderingtools`` introduced the #2 basic functionalities
more than one year before, it wasn't well known (I guess it remains quite
invisible as of July 2012) and wasn't considered as a candidate for
implementation. It was mentioned in discussions. Some concepts influenced Gsoc
proposal. But not more.

The Gsoc ended, Django 1.4 was released in 2012. As of July 2012, there is no
template-based form rendering in core Django.

So, ``django-formrenderingtools`` keeps on being an option...

.. note::

   One big point in discussions during Gsoc was about performances: using
   templates can generate many disk access and some overhead.
   `django-floppyforms`_ has benchmarks and implemented optimizations.
   ``django-formrenderingtools`` has none currently, but :doc:`contributions
   are welcome </contribute>`!


`django-crispy-forms`_ is about form layouts too. The main part is in Python
code: helpers and layout classes (configuration).

It could be an interesting alternative when you don't mind the layouts to be
configured in Python code, i.e. when your web designers can contribute to
Python code or when your developers do the web design.


Of course there are other projects!
As an example, around the Gsoc2011, some "proof-of-concept" projects appear.

You can find some of them at


.. _`django-floppyforms`:
.. _`Revised form rendering project`:
.. _`django-crispy-forms`: