Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 更改django中的表单字段值,在_init______之后但在清理之前_Python_Django - Fatal编程技术网

Python 更改django中的表单字段值,在_init______之后但在清理之前

Python 更改django中的表单字段值,在_init______之后但在清理之前,python,django,Python,Django,我想在我的窗体的\uuuu init\uuu方法中,将django窗体中某些字段的值重置为None 这就是我到目前为止所做的: class MyFormForm(forms.ModelForm): class Meta: model = MyModel fields = ['field1', ...] field1 = forms.IntegerField(max_value=100) def __init__(self, *args,

我想在我的窗体的
\uuuu init\uuu
方法中,将django窗体中某些字段的值重置为
None

这就是我到目前为止所做的:

class MyFormForm(forms.ModelForm):
    class Meta:
        model = MyModel
        fields = ['field1', ...]

    field1 = forms.IntegerField(max_value=100)

    def __init__(self, *args, **kwargs):
        values_changed = kwargs.pop('values_changed', False)
        super(MyFormForm, self).__init__(*args, **kwargs)
        self.data = self.data.copy()

        if not values_changed:
            for field in self.fields:
                self.data[field] = None
不幸的是,当表单显示在我的模板中时,已发布的值仍在其中。如何去掉该值,以便更改在呈现表单的模板中生效

不起作用的事情:

  • 设置初始参数。由于存在一个值,因此将忽略该值
  • 使用清理后的值。此阶段不清理表单,因为它无效。因此,
    已清理的\u数据
    不存在
我访问的值如下所示:

{{ form.field1.value|default_if_none:"Please enter." }}
编辑:我刚试过

{{ form.data.field1|default_if_none:"Please enter." }}

没有变化。

我是个白痴。有两种形式,
form
form_2

我使用了错误的变量名。我的错。它的工作原理与上面的代码类似