from django.shortcuts import render, redirect from django.http.response import HttpResponse from django.urls import reverse from django.contrib.auth import authenticate, login, logout from django.contrib.auth.models import User from django.contrib.auth.decorators import login_required, permission_required from user_manager.models import MyUser # Create your views here. def user_reg(request): if request.method == 'GET': return render(request, 'user_manager/user_reg.html') if request.method == 'POST': user_name = request.POST.get('username') user_pw = request.POST.get('password') if User.objects.filter(username=user_name): info_msg = '用户已经存在' else: user_data = {'username': user_name, 'password': user_pw, 'email': request.POST.get('email'), 'is_staff': 1, 'is_active': 1, 'is_superuser': 1} User.objects.create_user(**user_data) info_msg = '添加用户成功' return render(request, 'user_manager/user_reg.html', {'info': info_msg}) def user_login(request): if request.method == 'GET': return render(request, 'user_manager/login.html') if request.method == 'POST': user_name = request.POST.get('username') user_pw = request.POST.get('password') if User.objects.filter(username=user_name): user = authenticate(username=user_name, password=user_pw) print(user) if user: print(user.is_active) if user.is_active: login(request, user) info = '登录成功' else: info = '用户未激活' else: info = '账号密码错误' else: info = '账号不存在' return render(request, 'user_manager/login.html', {'info': info}) def myuser_reg(request): if request.method == 'GET': return render(request, 'user_manager/user_reg.html') if request.method == 'POST': uname = request.POST.get('username') pwd = request.POST.get('password') if MyUser.objects.filter(username=uname): info = '用户已存在' else: d = dict(username=uname, password=pwd, email=request.POST.get('email'), is_staff=1, is_active=1, is_superuser=1, photo='', weChat='coder', level='1') user = MyUser.objects.create_user(**d) info = '注册成功' return render(request, 'user_manager/user_reg.html', {'info': info}) def myuser_login(request): if request.method == 'GET': return render(request, 'user_manager/login.html') if request.method == 'POST': uname = request.POST.get('username') pwd = request.POST.get('password') if MyUser.objects.filter(username=uname): user = authenticate(username=uname, password=pwd) if user: if user.is_active: login(request, user) info = '登录成功' else: info = '用户未激活' else: info = '账号密码错误' else: info = '用户不存在' return render(request, 'user_manager/login.html', {'info': info}) @permission_required('user_manager.change_myuser') @login_required def myuser_edit(request): return render(request, 'user_manager/edit.html') def myuser_logout(request): logout(request) return redirect(reverse('user_manager_login')) @permission_required('user_manager.view_myuser') @login_required def user_index(request): users = MyUser.objects.all() return render(request, 'user_manager/user_index.html', {'users': users}) def test_middle(request): return HttpResponse('执行了')