フォームのフィールドの並び順を変える

Djangoで定義済みのフォームのフィールドの順番を変える方法。
通常は定義したときの順番だけど、後から無理矢理変えたいとかなら、base_fieldsがSortedDictなので、keyOrderを変えれば良い。

>>> from django import forms
>>> class MyForm(forms.Form):
...     name = forms.CharField()
...     value = forms.CharField()
...
>>> print MyForm()
<tr><th><label for="id_name">Name:</label></th><td><input type="text" name="name" id="id_name" /></td></tr>
<tr><th><label for="id_value">Value:</label></th><td><input type="text" name="value" id="id_value" /></td></tr>
>>> MyForm.base_fields.keyOrder.reverse()
>>> print MyForm()
<tr><th><label for="id_value">Value:</label></th><td><input type="text" name="value" id="id_value" /></td></tr>
<tr><th><label for="id_name">Name:</label></th><td><input type="text" name="name" id="id_name" /></td></tr>