本篇简单介绍使用cookie来记住用户名
1.视图函数:views.py
from django.shortcuts import render,redirect
# Create your views here.
def index(request):
'''首页'''
return render(request,'user/index.html')
def login(request):
'''登录页面'''
#如果用户名被设置在了cookie里,那么将其返回前端登录页面
if 'username' in request.COOKIES:
username = request.COOKIES['username']
else:
username = ''
return render(request,'user/login2.html',{'username':username})
def login_check(request):
'''登录校验'''
username = request.POST.get('username')#获取输入的用户名
password = request.POST.get('pwd')#获取输入的密码
remember = request.POST.get('remember')#获取用户是否点击“记住用户名”的checkbox
if username == 'yht' and password == '123456':#此处写死用户名和密码
response = redirect('index')
#如果点击了记住用户名的checkbox,那么就设置cookie
if remember == 'on':
response.set_cookie('username',username,max_age=7*24*3600)
return response
else:
return redirect('login')
2.前台代码
login2.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>登录</title>
</head>
<body>
<form action="check_login" method="post">
<input type="text" name="username" placeholder="输入用户名" value="{{ username }}"><br>
<input type="password" name="pwd" placeholder="输入密码" value="{{ pwd }}"><br>
<input type="checkbox" name="remember">记住用户名<br>
<input type="submit" value="登录">
</form>
</body>
</html>
index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>index</title>
</head>
<body>
<p>首页</p>
</body>
</html>
3.路径配置urls.py
from django.urls import path
from user import views
urlpatterns = [
path('index',views.index,name='index'),
path(r'login',views.login,name='login'),
path('check_login',views.login_check),
]
4.启动django服务,访问登录地址:http://127.0.0.1:8000/login,输入用户名及密码,点击“记住用户名”,跳转到首页,关闭浏览器再次访问,直接显示用户名。