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>