Django 验证输入的用户名和登录的用户是否相同
用户已登录并填写表单。 用户在表单中输入用户名。 如果输入的用户名与登录用户的用户名不匹配,则引发错误 forms.pyDjango 验证输入的用户名和登录的用户是否相同,django,django-models,django-forms,django-templates,django-views,Django,Django Models,Django Forms,Django Templates,Django Views,用户已登录并填写表单。 用户在表单中输入用户名。 如果输入的用户名与登录用户的用户名不匹配,则引发错误 forms.py class iffc_one(forms.ModelForm): def __init__(self, *args, **kwargs): self.user = kwargs.pop('user', None) super(iffc_one, self).__init__(*args, **kwargs) def clea
class iffc_one(forms.ModelForm):
def __init__(self, *args, **kwargs):
self.user = kwargs.pop('user', None)
super(iffc_one, self).__init__(*args, **kwargs)
def clean(self):
cleaned_data = super().clean()
fieldentered_username = self.cleaned_data['current_user']
if self.user != fieldentered_username:
raise forms.ValidationError('Invalid user')
class Meta:
model = bookings_modelform
models.py
class bookings_modelform(models.Model):
current_user = models.CharField(max_length=200)
我做错了什么 您不需要验证它,只需从request.user获取记录的用户信息并将其放入您的CModel中即可
bookings_model.current_user = request.user.username
问题是什么?如果self.user!=字段输入您的用户名。即使它们彼此匹配,也会引发错误。请提供初始化模型表单的代码。在您的情况下,您必须将request.user.username作为一个名为
user
的kwarg传递,以匹配表单中提供的用户名。我正在尝试验证表单,用户在其中输入用户名。在这种情况下,用户名不应由用户输入,而应由request.users获取。我如何才能做到这一点?感谢您的回答。这个代码在哪里。如果我在action视图中的models.py中输入它,我会收到一个错误,因为just view有request param输入