You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
106 lines
3.8 KiB
106 lines
3.8 KiB
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('执行了') |