2016-07-10 12 views
1

DjangoはエラーメッセージをDjango1.9: '関数' オブジェクトは属性 '_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') 

誤差)(これはクラスInceptionFormに起こります。

エラー:

はAttributeError: '関数' オブジェクトが何の属性 '_meta'

答えて

4

を持っていないあなたは機能get_user_modelに等しいユーザーを設定しました。その関数を呼び出した結果に設定する必要があります。

User = get_user_model() 
関連する問題