如何解决经理不在; 'auth.User' 已在 django 中替换为 'User.User'
我正在尝试创建注册表单,但是一旦我保存,我就会收到提到的错误,即 'Manager 不可用'auth.User' 已被替换为 'User.User''。我经历了一些解决方案以及通过 Internet 提供的解决方案,但由于我是编码领域的新手,因此我无法应用所需的解决方案。
设置.py
INSTALLED_APPS = [
'django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.messages','django.contrib.staticfiles','User','account',]
AUTH_USER_MODEL = 'User.User'
用户/模型.py
from django.db import models
from django.contrib.auth.models import (AbstractBaseUser,PermissionsMixin,UserManager)
class User(AbstractBaseUser,PermissionsMixin):
username = models.CharField(max_length=100,unique=True)
first_name = models.CharField(max_length=150,blank=True)
last_name = models.CharField(max_length=150,blank=True)
email = models.EmailField(max_length=255,unique=True)
USERNAME_FIELD = 'email'
required_FIELDS = ['username']
objects = UserManager()
def get_short_name(self):
return self.username
def documents(self):
return self.document_uploaded.all()
def get_full_name(self):
full_name = None
if self.first_name or self.last_name:
full_name = self.first_name + " " + self.last_name
elif self.username:
full_name = self.username
else:
full_name = self.email
return full_name
def __str__(self):
return self.email
class Meta:
db_table = 'auth_user'
用户/views.py
from django.shortcuts import get_object_or_404,redirect,render
from django.http import HttpResponseRedirect
from django.contrib.auth import get_user_model
from django.contrib.auth import authenticate,logout,login
from django.urls import reverse
from django.contrib.auth.decorators import login_required
from django.contrib.auth.views import PasswordResetView
from django.views.generic import (
CreateView,UpdateView,DetailView,TemplateView,View,DeleteView)
from django.conf import settings
from .forms import ( PasswordResetEmailForm,LoginForm)
from django.contrib.auth.mixins import LoginrequiredMixin,AccessMixin
User = get_user_model()
class LoginView(TemplateView):
template_name = "login.html"
def get_context_data(self,**kwargs):
context = super(LoginView,self).get_context_data(**kwargs)
context["ENABLE_GOOGLE_LOGIN"] = settings.ENABLE_GOOGLE_LOGIN
context["GP_CLIENT_SECRET"] = settings.GP_CLIENT_SECRET
context["GP_CLIENT_ID"] = settings.GP_CLIENT_ID
return context
def dispatch(self,request,*args,**kwargs):
if request.user.is_authenticated:
return HttpResponseRedirect('/')
return super(LoginView,self).dispatch(request,**kwargs)
class logoutView(LoginrequiredMixin,View):
def get(self,**kwargs):
logout(request)
request.session.flush()
return redirect("User:user_login")
@login_required(login_url='/login')
def home(request):
return render(request,'home.html')
def forgot_password(request):
return render(request,'forgot_password.html')
class PasswordResetView(PasswordResetView):
template_name = 'registration/password_reset_form.html'
form_class = PasswordResetEmailForm
email_template_name = 'registration/password_reset_email.html'
帐户/模型.py
from django.db import models
from User.models import User
from django.contrib.auth import get_user_model
from django.contrib.auth.models import (AbstractBaseUser,UserManager)
User = get_user_model()
帐户/views.py
from django.shortcuts import render,redirect
from .models import *
from django.http import HttpResponse
import datetime as dt
from User.models import User
from django.contrib.auth import get_user_model
from django.contrib.auth.forms import UserCreationForm
def registerView(request):
if request.method == 'POST':
form = UserCreationForm(request.POST)
if form.is_valid():
form.save()
return redirect('login_url')
else:
form = UserCreationForm()
return render(request,'registration/register.html',{'form':form})
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。