django中的母版和Cookie

0、 这篇文章记录一下django中的母版和Cookie的使用,方便自己查询复习

1、母版
什么是母版? 在django中,一些经常重复使用的html代码,我们可以将其独立拉出来,让其他html继承这个html,可以达到不在重写这些代码,还可以实现这些代码的功能,独立拉出来的html页面就是母版。
1、1 母版的使用
假如:a.html 是母版,他的内容是以下代码

{% block x1 %} {% endblock %}
  <h1>xxxx</h1>
  ....
  {% block x2 %} {% endblock %}
  <span>yyyyyyy</span>
  {% block x3 %} {% endblock %}

其中,{% block x1 %} {% endblock %} 是占位符,并不会在页面输出

b.html 继承 a.html

{% extends a.html %}
{% block x1 %} xxxx{% endblock %}
{% block x2 %}ssss {% endblock %}
{% block x3 %}dddd {% endblock %}

b.html 中 {% extends a.html %} 指定继承的母版,{% block x1 %} xxxx {% endblock %} 替换掉 a.html 中的 {% block x1 %} {% endblock %},并且在相应位置展示b.html中写的内容

2、Cookie

django中设置Cookie

def index(request):
	req = redirect("....)  # 获取返回值
	req.set_cookie("text", "AAA")  # 设置Cookie,第一个参数是key,第二个是值
	req.set_signed_cookie("text", "AAA", salt="sss")  # 设置加密的Cookie,第一个参数是key,第二个是值,第三个我的理解是,加的干扰信息

获取Cookie

def index(request):
	cookies = request.COOKIES  # 返回的是所有的cookie,以字典的方式
	value = request.COOKIES.get("XXXX")  #  返回的是具体的一个cookie的值

删除cookie

response = HttpResponse()
response.delete_cookie(key="")

cookie的加密和获取解密后的值

#  加密
res = HttpResponse("OK")
res.set_signed_cookie("demo", "BBBASDK", salt="salt")

#  获取加密之前的数据
    cookie = request.get_signed_cookie(key="demo", salt="salt")  # 要指明 key 和 salt 对应的值

在 django 中通过 HttpResponse.set_signed_cookie() 对cookie加密的cookie,并没有对值进行加密,而是添加了一个验证,例如:

BBBASDK:1iBsYP:ZNMAl263mEIyzNs3MqXaAXaVkMw # 加密之后的数据

我们可以看到并没有将值给加密,而是添加了一个认证,用户在浏览器上还是可以直接读取到cookie的值的,只能自己手动的给cookie的值进行加密,python中可以使用 hashlib 这个模块

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值