我需要在當前用戶參與下執行表單驗證。我知道如何去做,但使用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
好點,我會更新答案。 –