AttributeError: Manager isn't available; 'auth.User' has been swapped for 'user.User'

from django.shortcuts import render, redirect
import re
from django.urls import reverse   # 2.0中与前版本不同
from django.contrib.auth.models import User
from django.contrib.auth import get_user_model  # 要加上这句话不然会报错(1)
User = get_user_model()

# Create your views here.
def register(request):
    return render(request,'register.html')


def register_handle(request):
    '''进行注册处理'''
    #接收数据
    username = request.POST.get('user_name')
    password = request.POST.get('pwd')
    email = request.POST.get('email')
    allow  =request.POST.get('allow')


    #进行数据校验
    if not all([username,password,email]):
        # 数据不完成
        return render(request, 'register.html',{'errmsg':'数据不完整'})

    if allow != 'on':
        return render(request, 'register.html',{'errmsg':'请同意协议'})
    # 校验邮箱
    if not re.match(r'^[a-z0-9][\w.\-]*@[a-z0-9\-]+(\.[a-z]{2,5}){1,2}$',email):
        return render(request,'register.html',{'errmsg':'邮箱格式不正确'})

    #进行业务处理:进行用户注册
    user = User.objects.create_user(username,email,password)
    user.is_active = 0
    user.save()


    #返回应答,跳转到首页
    return redirect(reverse('goods:index'))

(1)AttributeError: Manager isn’t available; ‘auth.User’ has been swapped for ‘user.User’

发布了35 篇原创文章 · 获赞 0 · 访问量 412

猜你喜欢

转载自blog.csdn.net/mengzh620/article/details/103155126