from django.shortcuts import render,HttpResponse,redirect
from django.contrib import auth
def login(request):
if request.method == 'POST':
username = request.POST.get('username')
password = request.POST.get('password')
user_obj = auth.authenticate(request,username=username,password=password)
if user_obj:
auth.login(request,user_obj)
return redirect('/home/')
return render(request,'login.html')
from django.contrib.auth.decorators import login_required
@login_required(login_url='/login/') # 用户必须登录以后才能查看当前页面
def home(request):
# 判断当前用户是否登录
if request.user.is_authenticated():
print('%s已经登录了' %request.user)
return HttpResponse('ok')
@login_required(login_url='/login/')
def set_password(request):
if request.method == 'POST':
old_password = request.POST.get('old_password')
new_password = request.POST.get('new_password')
confirm_password = request.POST.get('confirm_password')
if new_password == confirm_password:
# 校验密码
is_right = request.user.check_password(old_password)
if is_right:
# 修改密码
request.user.set_password(new_password)
# 保存修改
request.user.save()
return render(request,'set_password.html')
# 注销
@login_required
def logou(request):
auth.logout(request)
return redirect('/login/')
# 注册
from django.contrib.auth.models import User
def register(request):
if request.method == 'POST':
username = request.POST.get('username')
password = request.POST.get('password')
# 写入用户表
User.objects.create_user(username=username,password=password)
# 创建超级用户
User.objects.create_superuser(username=username,password=password,email='541698220@qq.com')
return render(request,'register.html')