首页 > 解决方案 > AttributeError:模块“django.contrib.auth”没有属性“模型”。我错过了什么?

问题描述

当我在 django 中运行迁移时,终端显示 AttributeError: module 'django.contrib.auth' has no attribute 'models'。我正在 django 1.1 中进行讲座,我实际上使用的是 django 2.2。

视图.py

def calicutpara(request):
    return render(request, 'calicutpara.html')

class signup(CreateView):
    form_class = forms.userCreateForm
    success_url = reverse_lazy('login')
    template_name = 'signup.html'

应用程序 urls.py

from django.conf.urls import url
from django.contrib.auth import views as auth_views
from django.urls import path
from . import views
app_name = 'login'

urlpatterns = [
    path('ktupage/', views.ktupage, name='ktupage'),
    path('mgcourses/', views.mgcourses, name='mgcourses'),
    path('calicutcourses/', views.calicutcourses, name='calicutcourses'),
    path('mgcourses/mgaas/', views.mgaas, name='mgaas'),
    path('mgcourses/mgpara/', views.mgpara, name='mgpara'),
    path('calicutcourses/calicutaas/', views.calicutaas, name='calicutaas'),
    path('calicutcourses/calicutpara/', views.calicutpara, name='calicutpara'),
    path('login/', auth_views.LoginView.as_view(template_name='login.html'), name='login'),
    path('logout/', auth_views.LogoutView.as_view(),name='logout'),
    path('signup/', views.signup.as_view(),name='signup'),
]

模型.py

from django.db import models
from django.contrib import auth

class User(auth.models.User,auth.models.PermissionsMixin):

  def __str__(self):
      return "@{}".format(self.username)

表格.py

from django.contrib.auth import get_user_model
from django.contrib.auth.forms import UserCreationForm

class userCreateForm(UserCreationForm):

    class Meta:
        fields = ('username', 'email', 'password1', 'password2')
        model = get_user_model()

    def __init__(self,*args,**kwargs):
        super().__init__(*args,**kwargs)
        self.fields['username'].label = 'Username'
        self.fields['email'].label = 'E-mail Address'

标签: djangopython-3.xdjango-models

解决方案


在 models.py 中,替换:

from django.db import models
from django.contrib import auth

from django.contrib.auth import models

推荐阅读