1.默认自定义cookiedjango
在使用扩展签名时,会根据settings 配置中的 SIGNING_BACKEND 来运行加密方法,默认使用 django.core.signing.TimestampSigner 类进行加密和解密cookie
查看: set_signed_cookie 函数,咱们打印 get_cookie_signer 的返回值,能够得知是:django.core.signing.TimestampSigner 对象。函数
查看 get_cookie_signer 函数,能够看出根据: settings.SIGNING_BACKEND 来配置加解密的类方法。默认使用:django.core.signing.TimestampSigner。 加密
查看django.core.signing.TimestampSigner 类 ,有sign和unsign方法来实现加解密,因此咱们自定义类时,也必须有这两个方法来进行加解密,而且方法名称不能变动(不然须要修改django其余源码)3d
2.自定义扩展cookie对象
2.1 创建 一个 模块文件:c1,新建 类 my_cookie.继承: TimestampSigner 类blog
2.2 定义类方法 sign 和 unsign继承
2.3 settings文件中配置: SIGNING_BACKEND=‘c1.my_cookie’get