Django项目 cookie设置

urls.py文件设置: 设置路径和函数的对应关系

urlpatterns = [

path('login/', views.login),
    path('home/', views.home),
]

views.py文件设置:

def login(request):
if request.method == "POST":
user = request.POST.get("user")
password = request.POST.get("pwd")
if user == "alex" and password == "123456":
ret = redirect("/home/")
# ret.set_cookie("is_login","1") 这是设置不加盐的cookie
# 设置加盐的cookie
ret.set_signed_cookie("is_login","1",salt="zhangces123",max_age=7000) #salt:加盐 max_age=7000秒 超时后 cookie就消失了 刷新的话会回到登录页面
return ret
return render(request,"login.html")


def home(request):
# ret= request.COOKIES.get("is_login",0) 从请求中获取is_login 如果没有就为0
# 这里取出来的is_login是str类型的 所以下面的判断 1要加引号
# 从请求的cookie中找 有没有is_login
ret = request.get_signed_cookie("is_login",default="0",salt="zhangces123") #这里的default 如果没有的话会抛出异常 所以设置为0 默认:default=RAISE_ERROR
if ret=="1": #判断是否等于1
return render(request,"home.html")
else:
return redirect("/login/")
posted @ 2022-04-06 20:34  张丶先森  阅读(210)  评论(0)    收藏  举报