Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/292.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.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 form类中的uuu init_uuuuuu方法中放置什么?_Python_Django_Django Forms - Fatal编程技术网

Python 在django form类中的uuu init_uuuuuu方法中放置什么?

Python 在django form类中的uuu init_uuuuuu方法中放置什么?,python,django,django-forms,Python,Django,Django Forms,django表单中通常什么时候使用\uuuuu init\uuuuu函数,因为我似乎从来都不需要在表单中使用\uuuu init\uuuuu函数。通常,我可以创建一个表单,其中的字段继承自forms,例如forms.charfield。因此,何时实际需要使用\uuuuu init\uuuu函数。大多数情况下,不需要重写\uuuuu init\uuuuu函数-请注意,它已经在基表单类中定义 如果您需要覆盖它,请确保调用超级对象的\uuuu init\uuuu函数,否则会大量破坏这些内容 我发现覆盖

django表单中通常什么时候使用
\uuuuu init\uuuuu
函数,因为我似乎从来都不需要在表单中使用
\uuuu init\uuuuu
函数。通常,我可以创建一个表单,其中的字段继承自
forms
,例如
forms.charfield
。因此,何时实际需要使用
\uuuuu init\uuuu
函数。

大多数情况下,不需要重写
\uuuuu init\uuuuu
函数-请注意,它已经在基表单类中定义

如果您需要覆盖它,请确保调用超级对象的
\uuuu init\uuuu
函数,否则会大量破坏这些内容

我发现覆盖
\uuuu init\uuuu
方法最常见的用例是根据某些条件动态定义或排除字段。这看起来像这样:

def __init__(self, *args, **kwargs):
    super(FormClass, self).__init__(*args, **kwargs)
    if self.object: # in case of ModelForm
        self.fields['extra_field'] = forms.CharField(required=False)
        self.fields['other_field'].required = True
        del(self.fields['non_editable_field'])

换了个问题。希望更好?