cookie的简单使用

 

Cookie 机制:正统的Cookie 分发是通过扩展HTTP 协议来实现的,服务器通过在HTTP 的响应头中加上一行特殊的指示以提示浏览器按照指示生成相应的Cookie。然而纯粹的客户端脚本如JavaScript 或者VBScript也可以生成Cookie。而Cookie 的使用是由浏览器按照一定的原则在后台自动发送给服务器的。浏览器检查所有存储的Cookie,如果某个Cookie 所声明的作用范围大于等于将要请求的资源所在的位置,则把该cookie 附在请求资源的HTTP 请求头上发送给服务器。

def login_action(request):
    if request.method=='POST':
        username=request.POST.get("username","")
        password=request.POST.get("password","")
        if username=="admin" and password=="admin123":
            response=HttpResponseRedirect("/event_manage/")
            response.set_cookie('user',username)#创建cookie
            return response
        else:
            # return HttpResponse("用户名或密码错误")
            return render(request,'index.html', {'error': 'username or password error!'})

def event_manage(request):
    username=request.COOKIES.get('user', '') # 读取浏览器cookie
    return render(request=request,template_name="event_manage.html",context={"user":username})

当用户登录成功后,在跳转到event_manage 页面时,通过set_cookie()方法来添加浏览器Cookie。这里给set_cookie()方法传了三个参数,第一个参数“user”是用于表示写入浏览器的Cookie 名,第二个参数username 是由用户在登录页上输入的用户名,第三个参数3600 用于表示该cookie 信息在浏览器中的停留时间,默认以秒为单位。
而在event_manage 视图函数中,通过request.COOKIES 来读取Cookie 名为“user”的值。并且通过render将和event_manage.html 页面一起返回给客户端浏览器。
修改.../templates/event_manage.html 页面,添加<div>标签来显示用户登录的用户

 
 
<html>
<head>
<title>Event Manage Page</title>
</head>
<body>
<div style="float:right;">
<a>嘿!{{user}} 欢迎</a><hr/>
</div>
<h1>Login Success!</h1>
</body>
效果如下:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值