python - Django:无法导入名称 check_password

标签 python django

我正在尝试设置自定义用户模型,但在尝试对成员进行身份验证时,我的登录页面上出现以下错误

/members/login/处导入错误 无法导入名称 check_password

我知道check_password方法存在,但不确定我缺少什么。尝试导入时我在做什么?

/members/backends.py

from django.conf import settings
# failing to import check_password here
from django.contrib.auth.models import check_password
from members.models import Member


class EmailAuthBackend(object):
    """Custom authentication backend the allows users to log in using
    their email address."""

    def authenticate(self, email=None, password=None):
        """Authentication method."""
        try:
            member = Member.objects.get(email=email)
            if member.check_password(password):
                return member
        except Member.DoesNotExist:
            return None

members/views.py

from django.shortcuts import render_to_response, redirect
from django.template import RequestContext
from django.contrib.auth import login as django_login, authenticate, logout as django_logout

from members.forms.login import LoginForm
from members.forms.register import RegisterForm

def login(request):
    """Login view."""
    if request.method != 'POST':
        form = LoginForm()

    form = LoginForm(data=request.POST)

    if form.is_valid():
        member = authenticate(email=request.POST.get('email'),
                              password=request.POST.get('password1'))
        if member is not None:
            if member.is_active:
                django_login(request,  member)
                return redirect('/')
    else:
        form = LoginForm()

    return render_to_response('members/login.html', {
        'form': form
    }, context_instance=RequestContext(request))

最佳答案

试试这个:

from django.contrib.auth.hashers import check_password

关于python - Django:无法导入名称 check_password,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38063531/

相关文章:

python - 在 Python 网络应用程序中处理较大文件上传的最具可扩展性的方法是什么?

python - Pandas:如何获取最大值和最小值并为每一行写入?

python - django 日期字段像星期日星期一一样得到星期几

python - Django 过滤器。 is_safe 不起作用

python - Django 属性错误

python - django:在 pypy、psycho、unladen swallow 或 python 上,哪个最快?

python requests.get() InvalidSchema 错误

python - 我如何设置 Read the Docs 以便 Sphinx autodoc 选项起作用?

django - 像 Sublime Text 2 一样在博客中突出显示语法

python - 如何使用 django ejabberd 桥对用户进行身份验证