03: django进阶篇
2024-09-02 08:15:19
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
最新文章
- python处理空格脚本
- SQL不同服务器数据库之间的数据操作整理(完整版)
- ubuntu update dns server
- SQL基础巩固2
- cuda-convnet 卷积神经网络 一般性结构卷积核个数 和 输入输出的关系以及输入输出的个数的说明:
- 转 修改oracle用户密码永不过期
- 联通3g彩信设置
- ios 中的构造方法(二)
- npm 使用代理
- 201521123074 《Java程序设计》第12周学习总结
- @EnableAsync annotation metadata was not injected
- Python之Suds库调用WCF时复杂参数序列化
- 【原创】大叔问题定位分享(1)HBase RegionServer频繁挂掉
- SecureCRT或XShell软件
- linux环境java入门
- Tomcat中文乱码解决办法
- Apktool反编译apk资源文件
- Python的socket
- Codeblocks 常用快捷键
- phpstorm——配置interpreter——找了半天终于ok
热门文章
- javascript面向对象学习(一)
- python之sys._getframe() 用于查看函数被什么函数调用以及被第几行调用及被调用函数所在文件
- toJSON() 方法,将 Date 对象转换为字符串,并格式化为 JSON 数据格式。
- 一个优雅的图片裁剪插件vue-cropper
- 1-window搭建git
- 函数式接口和Lambda表达式
- springcloud(十七):服务网关 Spring Cloud GateWay 熔断、限流、重试
- MySQL中concat以及group_concat的使用
- Android NDK下载
- ES6 暂时性死区