2016-07-10 13 views
1

Django gibt eine FehlermeldungDjango1.9: 'Funktion' Objekt hat kein Attribut '_meta'

forms.py:

from django import forms 
from django.contrib.auth import authenticate, get_user_model, login, logout 
from django.contrib.auth.forms import UserCreationForm 

User = get_user_model 


class UserLoginForm(forms.Form): 
    username = forms.CharField() 
    password = forms.CharField(widget=forms.PasswordInput) 

    def clean(self, *args, **kwargs): 
     username = self.cleaned_data.get("username") 
     password = self.cleaned_data.get("password") 
     user = authenticate(username=username, password=password) 
     #user_qs = User.objects.filter(username=username) 
     #if user_qs.count() == 1: 
     # user = user_qs.first() 
     if username and password: 
      user = authenticate(username=username, password=password) 
      if not user: 
       raise forms.ValidationError("This user does not exist.") 
      if not user.check_password(password): 
       raise forms.ValidationError("Incorrect password.") 
      if not user.is_active: 
       raise forms.ValidationError("User is not active.") 
     return super(UserLoginForm, self).clean(*args, **kwargs) 


class InceptionForm(forms.ModelForm): 
    email2 = forms.EmailField(label='Confirm Email') 
    class Meta: 
     model = User 
     fields = ('username', 'email', 'password1', 'password2') 

ein Fehler aufgrund Klasse InceptionForm auftritt().

Fehler:

Attribute: 'Funktion' Objekt hat kein Attribut '_meta'

Antwort

4

Sie Benutzer gleich die Funktionget_user_model festgelegt hat. Sie müssen es auf das Ergebnis des Aufrufs dieser Funktion einstellen:

User = get_user_model()