Django 中使用 js 操作 cookies
程序员文章站
2022-04-10 21:04:45
session与cookie对比 Cookie: 保存在用户浏览器端的键值对 本地可以修改;如果有敏感信息,可以被看到 Session: 保存在服务器端的键值对 服务端:保存键值对{'随机字符串':{……用户信息……}},通过cookie保存随机字符串到客户端上。 在 app01 上添加文件夹 st ......
session与cookie对比
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 命令
# 查看现有 cookies document.cookie # 设置 cookies document.cookie = 'k1=v1' # jquery 获取 k1 的值 $.cookie('k1') # jquery 设置 cookie $.cookie('k2','v2')