LoginForm 在 Django 中产生未知的验证错误

Ahsaan-566

我创建了一个登录和注册模型表单。注册表格工作正常,但当我提交登录表格时,它显示验证错误

“使用此电子邮件的用户已存在”

我没有定义。页面不会重定向到成功 url,而是重新加载验证错误。

欢迎任何建议。

在此处输入图片说明

表格.py

class LoginForm(forms.ModelForm):
    email = forms.EmailField(max_length=100, widget=forms.TextInput(attrs={'class': "form-control",
                                                                           'placeholder': "Email"}), required=True)
    password = forms.CharField(widget=forms.PasswordInput(attrs={'class': "form-control",
                                                                 'placeholder': "Password",
                                                                 'name':"login_password"}), required=True)

    class Meta:
        model = CustomUser
        fields = ('email','password',)

视图.py

class LoginView(FormView):
    model = CustomUser
    form_class = LoginForm
    success_url = reverse_lazy('first_app:home')
    template_name = 'login.html'

    def form_valid(self, form):
        print('Inside form_valid of LoginView')
        email = form.cleaned_data.get('email')
        passw = form.cleaned_data.get('password')
        print('1')
        user = authenticate(username=email,password=passw)
        print('2')
        login_auth(self.request,user)
        messages.success(self.request,'Logged in successfully')
        return redirect('first_app:home')

模板

<form method="post" action="{% url 'users:login' %}">
    {% csrf_token %}
    <h2 class="text-center">Sign In</h2>

    {% for error in form.email.errors %}
      <div class="alert alert-danger alert-dismissible" role="alert">
        {{ error }}
      </div>
    {% endfor %}

    <div class="form-group">
        <div class="input-group">
            <span class="input-group-addon"><i class="fa fa-envelope"></i></span>
            {{ form.email }}
        </div>
    </div>

    {% for error in form.password.errors %}
      <div class="alert alert-danger alert-dismissible" role="alert">
        {{ error }}
      </div>
    {% endfor %}
    <div class="form-group">
        <div class="input-group">
            <span class="input-group-addon" style="padding-right: 15px;padding-left: 16px"><i class="fa fa-lock"></i></span>
            {{ form.password }}
        </div>
    </div>
    <div class="form-group">
        <button type="submit" class="btn-login btn-primary btn-block">Login</button>
    </div>
    <div class="clearfix">
        <p class="text-center small">Don't have an account? <a href="{% url 'users:signup' %}">Register</a></p>

    </div>
</form>

模型

class CustomUser(AbstractUser):
    """CustomUser model."""
    username = None
    name = models.CharField(max_length=100)
    email = models.EmailField(_('email address'), unique=True)

    USERNAME_FIELD = 'email'
    REQUIRED_FIELDS = []

网址.py

urlpatterns = [
    path('signup/', views.RegisterView.as_view(), name='signup'),
    path('login/', views.LoginView.as_view(), name='login'),
    ]
加萨诺夫

不要ModelForm用作登录表单 - 您的表单正在尝试创建新表单,CustomUser而不仅仅是使用数据进行身份验证。将其改为 just Form

第二个问题是您试图获取不正确的字段。用这个:

email = form.cleaned_data.get('email')
passw = form.cleaned_data.get('password')

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Joomla loginform错误尝试给出500错误

来自分类Dev

Vaadin LoginForm - 当用户通过或失败身份验证时发出信号

来自分类Dev

filter()是否在Django中产生数据库命中

来自分类Dev

Vaadin:loginForm 更改字段标题的位置

来自分类Dev

在Promise链中产生错误

来自分类Dev

在Java中产生致命错误

来自分类Dev

未编码的与号不再在W3C验证程序中产生错误吗?

来自分类Dev

Django填充DateTimeField验证错误

来自分类Dev

Django DateField 给出验证错误

来自分类Dev

Django Rest Framework Many = False产生错误

来自分类Dev

Django-taggit TaggableManager() 产生管理错误

来自分类Dev

Silverstripe:$LoginForm - 登录失败时找不到页面

来自分类Dev

将本地组件文件导入我的 LoginForm 组件时出错

来自分类Dev

jQuery的sourceMappingURL在apache中产生404错误

来自分类Dev

如何在PHP中产生404错误?

来自分类Dev

Java ROBOT在Excel中产生错误

来自分类Dev

地图中的条件在 ReactJS 中产生错误

来自分类Dev

显式地应用str()与允许Django自己执行该操作会在模板中产生不同的结果

来自分类Dev

Django表单验证错误被复制

来自分类Dev

附加到Django表单验证错误?

来自分类Dev

Django字段验证错误没有提出

来自分类Dev

无法使用验证错误在Django形式

来自分类Dev

Django:模板中的脆皮表单验证错误

来自分类Dev

选择引发验证错误的Django Admin

来自分类Dev

Django 1.6中的密码验证错误

来自分类Dev

Django表单验证错误被复制

来自分类Dev

django自定义表单验证错误

来自分类Dev

Django字段验证错误未引发

来自分类Dev

Django表单字段验证错误