正确的用户名密码未登录django

肯西

我正在使用django开发一个小型网站,并且正在使用内置的登录视图。当我注册一个标准用户,然后尝试使用正确的凭据登录时,它向我显示登录错误“请输入正确的用户名和密码”。我创建的超级用户不会发生此问题。可以使用正确的凭据登录,而不会显示任何错误消息。

这是我的注册视图的views.py。

from django.shortcuts import redirect, render, get_object_or_404
from django.contrib.auth.models import User
from .forms import UserForm

def register_user(request):
    if request.method == "POST":
        form = UserForm(request.POST)
        if form.is_valid():
            user = form.save()
            return redirect('user_profile', pk=user.pk)
    else:
        form = UserForm()
    return render(request, 'interport/register_user.html', {'form':form})

admin.py:

from django.contrib import admin
from django.contrib.auth.models import User

forms.py:

from django import forms
from django.contrib.auth.models import User

class UserForm(forms.ModelForm):
    class Meta:
    model = User
    fields = ('first_name', 'last_name', 'email', 'username', 'password',)

urls.py:

from django.conf.urls import url
from django.contrib.auth import views as auth_views
from . import views

urlpatterns = [
    url(r'^accounts/login/$', auth_views.login, name='login'),
    url(r'^logout/$', auth_views.logout, {'next_page': '/'}, name='logout'),
    url(r'^register_user$', views.register_user, name='register_user'),
    url(r'^$', views.home, name='home'),
]

登录模板:

{% extends "interport/base.html" %}
{% block content %}
<div class="container">
  <div class="row">
    <div class="center col s4 offset-s4 card-panel #fff8e1 amber lighten-5">
<h2>Login</h2>
<form method="post">
{% csrf_token %}
{{ form.as_p }}
<button type="submit">Login</button>
</form>
    </div>
  </div>
</div>
{% endblock %}
丹尼尔·罗斯曼

您正在使用纯文本密码保存新用户,但是Django始终会在检查有效性之前对密码进行哈希处理。

您需要通过来创建用户User.objects.create_user(),该用户可以正确地对密码进行哈希处理,或者user.set_password()在创建后使用来设置哈希密码。

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

无法使用正确的用户名和密码登录Django管理员

输入正确的用户名和密码后无法登录

正确的Django Redux注册错误密码/用户名

当我使用正确的用户名和密码时,我的php登录系统未重定向

登录失败后,为什么Gmail不会显示用户名或密码不正确?

尽管用户名和密码正确,Spring Security登录仍失败

Codeigniter登录验证不正确的用户名和密码

我有一个登录问题 用户名和密码是正确的

我的登录始终成功,无论用户名或密码正确/错误

由于用户名或密码不正确,vsphere无法完成登录

django JWT询问用户名/密码

登录系统,输入用户名和密码后登录

无法使用有效的用户名和密码登录django管理页面

无法使用有效的用户名和密码登录django管理页面

在 django 的登录表单中添加一个新字段以及用户名和密码

单击django重置密码链接时,如何从登录表单中获取用户名

Django-错误:ORA-01017:无效的用户名/密码;登录被拒绝

当使用正确的帐户和密码进行“ npm login”登录时,为什么仍然获得“用户名或密码错误”?

“用户名和密码不正确”尽管正确?

在用户登录期间,身份验证返回无,并带有正确的用户名和密码

我的登录用户名和密码是什么?

什么是Grafana登录页面默认的用户名和密码?

ssh登录和git pull询问用户名/密码

登录失败:未知的用户名或错误的密码-服务凭据

登录时QuickFixJ Initiator设置用户名和密码

使用帐户,用户名,密码登录到AWS Console

PHP登录“无效的用户名和密码”

简单的用户名和密码登录 Python 3

终端osx中登录-f用户名后的密码