【发布时间】:2021-04-10 18:13:30
【问题描述】:
好吧,我想在 django 表单的干净功能中获得请求的用户,但我无法做到这一点。我试图通过简单地说 self.request.user 来实现这一点,它在视图中有效,但在 forms.py 中无效,有人知道如何在 djnago 表单中获取请求的用户吗? p>
forms.py
class KycModelForm(forms.ModelForm):
class Meta:
model = KycModel
fields = '__all__'
def __init__(self, *args, **kwargs):
self.request = kwargs.pop('request', None)
super(KycModelForm, self).__init__(*args, **kwargs)
def clean(self):
cleaned_data = super().clean()
user = User.objects.get(username=self.request.user)
print(user)
views.py
class KycFormCreateView(CreateView):
form_class = KycModelForm
model = KycModel
template_name = "accounts/kyc/new_kyc.html"
def form_valid(self, form):
user_kyc = form.save(commit=False)
user_kyc.owner = self.request.user
user_kyc.save()
return super().form_valid(form)
【问题讨论】:
标签: python django django-models django-views django-forms