欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Django 中使用 js 操作 cookies

程序员文章站 2022-07-11 17:00:40
session与cookie对比 Cookie: 保存在用户浏览器端的键值对 本地可以修改;如果有敏感信息,可以被看到 Session: 保存在服务器端的键值对 服务端:保存键值对{'随机字符串':{……用户信息……}},通过cookie保存随机字符串到客户端上。 在 app01 上添加文件夹 st ......

session与cookie对比

保存在用户浏览器端的键值对
本地可以修改;如果有敏感信息,可以被看到

session:

保存在服务器端的键值对
服务端:保存键值对{'随机字符串':{……用户信息……}},通过cookie保存随机字符串到客户端上。


在 app01 上添加文件夹 static ,并把 jquery.cookie.js 和 jquery.min.js 放入

在 templates 文件夹下添加 js_cookie.html

<!doctype html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>title</title>
    <script src="/static/jquery.min.js"></script>
    <script src="/static/jquery.cookie.js"></script>
</head>
<body>

</body>
</html>

修改 views.py,在最后添加

def js_cookie(req):
    obj = render(req, 'js_cookie.html')
    obj.set_signed_cookie('what', 'else')
    # 对应的如果要获取加密的 cookie 值,需要使用 get_signed_cookie()方法
    return obj

修改 urls.py

from django.contrib import admin
from django.urls import path

from app01 import views

urlpatterns = [
    path('admin/', admin.site.urls),
    path('login.html', views.login),
    path('index.html', views.index),
    path('js_cookie.html', views.js_cookie),
]

在 settings.py 添加

staticfiles_dirs=(
    os.path.join(base_dir, "static"),
)

在浏览器上输入
按 f12 选择 network 点击 cookies ,可以查看 cookies ,在 console 处可以输入 js 命令
Django 中使用 js 操作 cookies

# 查看现有 cookies
document.cookie

# 设置 cookies
document.cookie = 'k1=v1'

# jquery 获取 k1 的值
$.cookie('k1')

# jquery 设置 cookie
$.cookie('k2','v2')