1.1 cookie

  1、cookie简介

      1. cookie实质就是客户端硬盘中存放的键值对,利用这个特性可以用来做用户验证

      2. 比如:{“username”: “dachengzi”} #再次访问url就会携带这些信息过来

  2、前端操作cookie
      说明: 使用下面方法操cookie必须先引入jquery.cookie.js

      1. 前端获取cookie值:  var v = $.cookie('per_page_count');

      2. 前端设置cookie值:  $.cookie('per_page_count',v);

  3、后端操作cookie

      说明: response = HttpResponse(...)  或  response = render(request, ...)

      1. 后端设置cookie值:  response.set_cookie('username',"zhangsan")

      2. 后端后去cookie值:  request.COOKIES.get('username')

  4、使用cookie实现用户登录、注销 

from django.contrib import admin
from django.urls import path,re_path
from app01 import views urlpatterns = [
path('admin/', admin.site.urls),
re_path(r'login/$',views.login),
re_path(r'index/$',views.index),
re_path(r'logout/$',views.logout),
]

urls.py

from django.shortcuts import render,HttpResponse,redirect

def index(request):
username = request.COOKIES.get('username') # 获取cookie
if not username:
return redirect('/login/')
return HttpResponse(username) def login(request):
if request.method == "GET":
return render(request,'login.html',{'msg':''})
if request.method == "POST":
u = request.POST.get('username')
p = request.POST.get('pwd')
print(u,p)
if u == 'tom' and p == '':
res = redirect('/index/')
res.set_cookie('username',u ,max_age=10) # 设置500s免登陆
return res
else:
return render(request,'login.html', {'msg':'用户名或密码错误'}) def logout(req):
response = redirect('/login/')
#清理cookie里保存username
response.delete_cookie('username')
return response

views.py

    <form action="/login/" method="POST">
<input type="text" name="username" placeholder="用户名">
<input type="text" name="pwd" placeholder="密码">
<input type="submit" value="提交">
<p>{{ msg }}</p>
</form>

login.html

最新文章

  1. python处理空格脚本
  2. SQL不同服务器数据库之间的数据操作整理(完整版)
  3. ubuntu update dns server
  4. SQL基础巩固2
  5. cuda-convnet 卷积神经网络 一般性结构卷积核个数 和 输入输出的关系以及输入输出的个数的说明:
  6. 转 修改oracle用户密码永不过期
  7. 联通3g彩信设置
  8. ios 中的构造方法(二)
  9. npm 使用代理
  10. 201521123074 《Java程序设计》第12周学习总结
  11. @EnableAsync annotation metadata was not injected
  12. Python之Suds库调用WCF时复杂参数序列化
  13. 【原创】大叔问题定位分享(1)HBase RegionServer频繁挂掉
  14. SecureCRT或XShell软件
  15. linux环境java入门
  16. Tomcat中文乱码解决办法
  17. Apktool反编译apk资源文件
  18. Python的socket
  19. Codeblocks 常用快捷键
  20. phpstorm——配置interpreter——找了半天终于ok

热门文章

  1. javascript面向对象学习(一)
  2. python之sys._getframe() 用于查看函数被什么函数调用以及被第几行调用及被调用函数所在文件
  3. toJSON() 方法,将 Date 对象转换为字符串,并格式化为 JSON 数据格式。
  4. 一个优雅的图片裁剪插件vue-cropper
  5. 1-window搭建git
  6. 函数式接口和Lambda表达式
  7. springcloud(十七):服务网关 Spring Cloud GateWay 熔断、限流、重试
  8. MySQL中concat以及group_concat的使用
  9. Android NDK下载
  10. ES6 暂时性死区