Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django 验证输入的用户名和登录的用户是否相同_Django_Django Models_Django Forms_Django Templates_Django Views - Fatal编程技术网

Django 验证输入的用户名和登录的用户是否相同

Django 验证输入的用户名和登录的用户是否相同,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

用户已登录并填写表单。 用户在表单中输入用户名。 如果输入的用户名与登录用户的用户名不匹配,则引发错误

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 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输入