1
我在下面看到了以下視圖。我想使用get_context_data method
中的'email
'在我的UserAuthenticationForm表單中預填充一個表單字段,這怎麼可能?Django如何使用參數表單上下文預填充表單域
查看:
class CampaignLoginView(LoginView):
model = Campaign
form_class = UserAuthenticationForm
def get_context_data(self, *args, **kwargs):
context = super(CampaignLoginView, self).get_context_data(*args, **kwargs)
user = AppUser.objects.get(pk=1)
context['email'] = user.email
形式:
class UserAuthenticationForm(AuthenticationForm):
def __init__(self, *args, **kwargs):
super(UserAuthenticationForm, self).__init__(*args, **kwargs)
還是有辦法'我應該做它?
嗨丹尼爾感謝您的答覆。我明白了,所以這是我的CBV中可用的函數,它允許我以init方法的形式訪問電子郵件字符串?也就是說,我可以做self.kwargs ['user_email']來獲得這個表單嗎? – GrantU
好吧,以便實際工作,只是測試感謝丹尼爾。所以我認爲它在CBV的某個地方將它傳遞給表單對象,因爲我不知道它是如何工作的。 – GrantU
當然,你可以從[code](https://github.com/django/django/blob/master/django/views/generic/edit.py#L10)看到:'get_form'傳遞'get_form_kwargs '給表單類來實例化它。 –