" / = 34的AttributeError;身份验证 - Django 1.8

时间:2015-10-03 22:43:18

标签: django python-3.x authentication python-3.4 django-1.8

我正在尝试使用登录系统来处理我正在处理的Django项目。但是我保留了以下例外:

  

'用户' object没有属性' backend'

我想要使用django身份验证系统。所以这就是我到目前为止所做的:

class UserProfile(models.Model):
    user = models.OneToOneField(User)
    date_of_birth = models.DateField()
    phone_number = models.CharField(max_length=30)
    height = models.FloatField()
    weight = models.FloatField()
    medical_information = models.ForeignKey(MedicalInformation, null=True)
    emergency_contact = models.ForeignKey(EmergencyContact, null=True)
    status = models.ForeignKey(UserStatus, null=True)
    REQUIRED_FIELDS = ['weight', 'height', 'date_of_birth', 'phone_number', 'email', 'first_name', 'last_name']

我这样做,以便我可以获得有关用户的更多信息。

此外,在views.py文件中我有:

def user_login(request):
  if request.POST:
    email = request.POST.get("email").lower()
    password = request.POST.get("password")
    context = {}

    if not all([password, email]):
        context['error_message'] = "Please enter email & password"

    user = authenticate(username=email, password=password)

    if user is None:
        context['error_message'] = "Incorrect Username/Password"

    login(request, user)
    redirect('dashboard')

  return render(request, 'login.html')

我一直在阅读,在调用我在views.py文件中执行的user = authenticate(username=email, password=password)之前,您必须致电login(request, user)

在我的设置中,我也有以下内容:

AUTHENTICATION_BACKENDS = (
    'django.contrib.auth.backends.ModelBackend',
    'allauth.account.auth_backends.AuthenticationBackend',
)

我不知道还需要展示什么,但如果需要更多信息,请告诉我。

提前致谢。

编辑:

def dashboard(request):
    """
    shows over the system
    """
    print("dashboard")

0 个答案:

没有答案