注册:先去根据需求检验用户的账号和密码是否符合要求
from django.contrib.auth.models import User
from django.http import HttpResponse
from django.shortcuts import render, redirect
from django.urls import reverse
def register(req):
if req.method == 'GET':
return render(req, 'register.html')
elif req.method == 'POST':
params = req.POST
name = params.get('name')
pwd = params.get('pwd')
pwd_confirm = params.get('pwd_confirm')
# 账号密码检验
if name and len(name) >= 3 and pwd and len(pwd) >= 6 and pwd == pwd_confirm:
# 添加用户
User.objects.create_user(username=name, password=pwd)
# 转到登陆页面
return redirect(reverse('learns:login'))
else:
return HttpResponse('账号或密码有误,请重新输入')
登陆:先去做账号密码的认证,认证通过后再去做登陆
def login(req):
if req.method == 'GET':
return render(req, 'login.html')
elif req.method == 'POST':
params = req.POST
name = params.get('name')
pwd = params.get('pwd')
# 认证用户
user = authenticate(username=name, password=pwd)
if user:
# 认证通过以后,将用户登陆
login(req, user)
# 转到首页
return redirect(reverse('learns:index'))
else:
return HttpResponse('账号或密码不正确')