Python Django CreateView-如何调用表单类uuu init_uuuuu?

Python Django CreateView-如何调用表单类uuu init_uuuuu?,python,django,forms,Python,Django,Forms,我有一个django创建视图,我想调用form类的\uuuu init\uuuu,我不知道怎么做 class PersonCreateView(CreateView): model = Person form_class = PersonForm 在form类中,我做了一些逻辑来重新定义一些组合的queryset。我的问题是,我不知道如何调用PersonForm的\uuuu init\uuuu方法或任何其他方法 提前感谢您的帮助。您自己不应该这样称呼它。您可以重写以提供传递给表

我有一个django创建视图,我想调用form类的
\uuuu init\uuuu
,我不知道怎么做

class PersonCreateView(CreateView):
    model = Person
    form_class = PersonForm
在form类中,我做了一些逻辑来重新定义一些组合的queryset。我的问题是,我不知道如何调用
PersonForm
\uuuu init\uuuu
方法或任何其他方法


提前感谢您的帮助。

您自己不应该这样称呼它。您可以重写以提供传递给表单实例化的额外参数

class PersonCreateView(CreateView):
    model = Person
    form_class = PersonForm

    def get_form_kwargs(self, *args, **kwargs):
        form_kwargs = super(PersonCreateView, self).get_form_kwargs(*args, **kwargs)
        form_kwargs['my_extra_queryset_param'] = get_my_extra_queryset()
        return form_kwargs

当实例化对象的新实例时,init方法实际上由类自动调用

考虑以下示例:

class House():
    __init__(self,x,y):
        self.x = x
        self.y = y
        self.z = x*y
要调用init,我们只需执行以下操作:

h = House(5,7)
这将创建对象并自动调用init函数。对于django视图,其工作方式相同


我看到丹尼尔抢先给了我一个答案,也许他的答案更符合你的要求。不管怎样,希望这至少有一点帮助

谢谢!这正是我要找的!