实例化后将初始数据传递给Django表单

时间:2015-04-17 20:07:48

标签: django django-forms

假设我在我的一个视图中实例化一个Django表单,并且可以有条件地为它提供初始数据。本着“不重复我自己”的精神,我想首先构建表格,然后将这些信息传递给表格。我喜欢做的事情看起来像:

form = ThisForm()
if initial_data_element:
    initial_data = {
        'element': initial_data_element,
    }
    form.initial.update(initial_data)

什么是次优的,但仍然回答我的问题,将是看起来像:

form = ThisForm()
if initial_data_element:
    form.fields['element'].initial = initial_data_element

我无法在文档或其他有关表单的问题中找到类似的内容,这使我怀疑有一种不同的方式可以处理这类问题。现在我可能会以__init__方式处理它,但我认为我更倾向于在视图中遵循它的构造。

值得一提的是我想要这样做的原因:我使用初始化为None的变量的传统方法是覆盖我的ModelForm中的实例数据,而我&#39 ; d非常希望有一个更强大的解决方案。

我的问题:如果实际上甚至可能将初始数据应用于已经实例化的表单,建议的方法是什么?

0 个答案:

没有答案