cookie :是用户保存在用户浏览器端的一对键值对,是为了解决http的无状态连接。服务端是可以把 cookie写到用户浏览器上,用户每次发请求会携带cookie。
存放位置:
每次发请求cookie是放在请求头里面的。
应用场景:
·登陆用户和密码的记住密码
·显示每页显示的数据,以后都是按照设定的数目显示
·投票机制
案例用户登录
创建用户登录的url
1
|
url(r '^login/' , views.login), |
创建登录页面
代码为:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
<!DOCTYPE html> < html lang = "en" > < head > < meta charset = "UTF-8" > < title >登陆页面</ title > < link rel = "stylesheet" href = "/static/bootstrap-3.3.7-dist/css/bootstrap.css" rel = "external nofollow" > < link rel = "stylesheet" href = "/static/jquery-3.2.1.min.js" rel = "external nofollow" > </ head > < body > < form action = "/login/" method = "post" > < input type = "text" name = "username" placeholder = "用户名" > < input type = "text" name = "password" placeholder = "密码" > < input type = "submit" value = "提交" > </ form > </ body > </ html > |
创建后台函数方法
代码为:
1
2
3
4
5
6
7
8
9
10
11
12
|
def login(request): if request.method = = "GET" : return render(request, 'houtaiguanli/login.html' ) else : user = request.POST.get( 'username' ) pwd = request.POST.get( 'password' ) if user = = 'ke' and pwd = = '123' : obj = redirect( '/classes/' ) obj.set_cookie( 'ticket' , 'dafadfafaf' ) return obj else : return render(request, 'houtaiguanli/login.html' ) |
这里设计登录成功后可以正常访问班级页面即“classes”,所以要在班级方法那里做个判断。如果判断为用户已经登录,则可以正常访问。判断用户没有正常登录,则让它跳转到登录页面继续登录
这里就是通过设置cookie,发送给用户的浏览器。用浏览器在进行新的请求时携带着cookie来的。
1
2
3
4
5
6
7
|
set_cookies的语法 Set-cookie:name=name;expires=date;path=path;domain=domain;secure name=name: 需要设置cookie的值(name不能使用“;”和","号),有多个name值时用";"分隔例如:name1=name1; name2=name2;name3=name3。 expires=date: cookie的有效期限,格式: expires="Wdy,DD-Mon-YYYY HH:MM:SS" path=path: 设置cookie支持的路径,如果path是一个路径,则cookie对这个目录下的所有文件及子目录生效,例如:path="/cgi-bin/",如 果path是一个文件,则cookie指对这个文件生效,例如:path="/cgi-bin/cookie.cgi"。 domain=domain: 对cookie生效的域名,例如:domain="gzdzw.51.net" secure: 如果给出此标志,表示cookie只能通过SSL协议的https服务器来传递。 cookie的接收是通过设置环境变量HTTP_COOKIE来实现的,CGI程序可以通过检索该变量获取cookie信息。 |
cookie 也可以做加密的
添加salt
后台拿去的时候解密
浏览器查看
总结
以上就是本文关于快速了解Python开发中的cookie及简单代码示例的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!
原文链接:http://blog.51cto.com/sgk2011/2060238?utm_source=oschina-app