|
1
97
自Django 1.9+
Django 1.9添加了一个新的
中缺少字段
请参阅文档: https://docs.djangoproject.com/en/stable/ref/forms/api/#notes-on-field-ordering 至Django 1.6我也遇到了同样的问题,我发现了另一种在 Django CookBook :
|
|
|
2
16
从Django 1.9: https://docs.djangoproject.com/en/1.10/ref/forms/api/#notes-on-field-ordering
原始答案:
django 1.9默认情况下将在表单上支持此功能
https://github.com/django/django/commit/28986da4ca167ae257abcaf7caea230eca2bcd80 |
|
|
3
11
我使用了Selene发布的解决方案,但发现它删除了所有未分配给keyorder的字段。我要子类化的表单有很多字段,所以这对我来说不是很好。我用Akaihola的答案编写了这个函数来解决这个问题,但是如果你想让它像Selene那样工作,你需要做的就是设置
这就是我在自己的代码中使用它的方式:
|
|
|
4
10
似乎在某一点上,字段顺序的底层结构从特定于Django的
因此,在1.7中,我必须做以下工作:
我相信有人可以把它打成两到三条线,但为了S.O.的目的,我认为清楚地展示它的工作原理比劈刀更好。 |
|
|
5
7
您还可以创建一个装饰器来订购字段(受Joshua解决方案的启发):
这将确保传递给装饰器的所有字段都位于第一位。 您可以这样使用它:
|
|
|
6
6
接受答案的方法使用了Django 1.7中更改的内部Django Forms API。
The project team's opinion is that it should never have been used in the first place.
现在,我使用此函数对表单重新排序。此代码使用
我在这类课程中用到:
|
|
|
7
3
请参阅中的注释
this SO question
在Django的内部结构跟踪字段顺序的过程中,答案包括如何根据您的喜好“重新排序”字段的建议(最终归结为与
|
|
|
8
2
更改字段顺序的其他方法: 弹出式和插入式:
流行和追加:
全部弹出并追加:
有序副本:
但塞莱恩在《姜戈食谱》中的做法仍然让人感觉最清楚。 |
|
|
9
1
基于@akaihola的回答,并更新为与最新的django 1.5合作
在上面,我们正在扩展easycontactusForm基类,正如在中定义的那样。 django-easycontactus 包裹。 |
|
|
10
0
我构建了一个从django registration redux的“registration form”继承的表单“exregistrationform”。我面临两个问题,其中一个是在创建新表单后重新排序HTML输出页上的字段。 我解决了如下问题: 1。问题1:从注册表中删除用户名:在my_app.forms.py中
2。问题2:使firstname和firstname出现在最上面:在templates/registration/registration.html中 可以按所需的顺序单独显示字段。如果字段的数量较少,这将有所帮助,但如果您有大量字段,而实际上不可能在表单中实际写入它们,则情况并非如此。
|