django.core.signing中的Singer怎么设置过期时间
时间: 2024-03-02 08:54:35 浏览: 90
Django 3.2.10.dev 官方文档中文版.pdf
5星 · 资源好评率100%
在django.core.signing模块中,可以通过设置sign函数的参数max_age来设置签名的过期时间。例如,下面的代码将在10秒钟内过期:
```
from django.core.signing import Signer
import time
signer = Signer()
signed_value = signer.sign('hello', max_age=10)
print(signed_value)
time.sleep(5)
value = signer.unsign(signed_value, max_age=10)
print(value)
time.sleep(6)
value = signer.unsign(signed_value, max_age=10)
print(value)
```
在这个例子中,我们设置了max_age为10,即签名将在10秒钟内过期。我们使用signer.sign()函数对字符串'hello'进行签名,并将签名结果打印出来。然后我们等待5秒钟,再使用signer.unsign()函数对签名结果进行解码,解码后的值应该等于'hello'。接着我们再等待6秒钟,再次使用signer.unsign()函数对签名结果进行解码,这时会抛出SignatureExpired异常,表示签名已经过期。
阅读全文