我的表格中有3个字段.我有一个提交按钮和一个"添加额外字段"按钮.我知道我可以__init__在表单类中使用方法添加字段.
我是Python和Django的新手,我遇到了一个初学者问题:我的问题是:
当我单击"添加附加字段"按钮时,添加附加字段的过程是什么?
表格是否必须再次呈现?
我怎么以及何时打电话__init__或者甚至不得不打电话给它?
我如何传递参数__init__?
Django 1.6
我在Django表单类中有一个工作代码块,如下所示.我正在构建表单字段列表的数据集可以包含任何字段的初始值,而我在表单中设置该初始值时没有成功.if field_value:下面的块确实填充了初始表单字典属性,但未显示初始值.请注意(如果您想知道)该.initial属性在super()调用之后才存在.
可以这样做吗?
如果是这样,那么我做得不好的事情呢?
谢谢!
def __init__(self, *args, **kwargs):
id = kwargs.pop('values_id', 0)
super(LaunchForm, self).__init__(*args, **kwargs)
# Lotsa code here that uses the id value
# to execute a query and build the form
# fields and their attributes from the
# result set
if field_value:
self.initial[field_name] = field_value
Run Code Online (Sandbox Code Playgroud) Django的表单库具有表单集功能,允许您处理动态添加的表单.例如,如果您的应用程序具有书签列表,您可以使用表单集来处理表单集,以处理多个表单,每个表单都代表一个书签.
如果要动态地向表单添加字段,该怎么办?一个示例是调查创建页面,您可以在其中动态添加无限数量的问题.你如何在Django中处理这个问题?