我需要在当前用户参与下执行表单验证。我知道如何去做,但使用FBV方法。可能是这样的:django CBV:以表格形式获取当前用户
首先声明__ __的init()方法:
def __init__(self, user, *args, **kwargs):
self.user = user
super(MyFormClass, self).__init__(*args, **kwargs)
所以现在我可以使用self.user任何验证方法。
在我可以一个视图方法后来:
if request.POST:
form = MyFormClass(request.user, request.POST)
我的问题:我如何可以做同样的,但使用CBV:
目前我使用的CreateView的通用和form_class ATTR:
class MyModelCreate(CreateView):
model = MyModel
form_class = MyFormClass
我怎样才能实例化MyFormClass与当前用户使用这种方式。
覆盖'get_form'是一个选项,但是重写'get_form_kwargs'是DRYer。 – Alasdair
好点,我会更新答案。 –