目前我正在使用@cached_property以避免重复访问数据库。
class MyModel(models.Model):
...
@cached_property
def my_opts(self):
options = Option.objects.filter(...)
return options
...
Run Code Online (Sandbox Code Playgroud)
我使用了这个属性前端模板。
它在 shell 和测试中运行良好。但是当我在浏览器中测试时,我不知道缓存的属性何时重置。
每当我刷新浏览器时,该属性就会重置。那么在这种情况下使用缓存属性有用吗?而cached_property客户端方面的值具体什么时候重置呢?
提前致谢!
我知道已经提出了很多问题和问题。但我找不到明确的答案来解决这个问题。
我html2canvas用来截图我的页面 - 来自amazon s3(cloudfront,也是)
我尝试了几乎所有来自 SO 和 html2canvas 问题的答案。
我设置了我的 S3 CORS 以允许所有/还将我的存储桶设置为公共。我也给了所有人的所有公共访问权限(只是为了测试它是否有效。部署后我会阻止它们)
这是我的 s3 CORS
<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
<AllowedOrigin>*</AllowedOrigin>
<AllowedMethod>GET</AllowedMethod>
<MaxAgeSeconds>3000</MaxAgeSeconds>
<AllowedHeader>*</AllowedHeader>
</CORSRule>
<CORSRule>
<AllowedOrigin>*</AllowedOrigin>
<AllowedMethod>PUT</AllowedMethod>
<MaxAgeSeconds>3000</MaxAgeSeconds>
<AllowedHeader>*</AllowedHeader>
</CORSRule>
</CORSConfiguration>
Run Code Online (Sandbox Code Playgroud)
还有我的桶政策
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AddPerm",
"Effect": "Allow",
"Principal": "*",
"Action": [
"s3:PutObject",
"s3:PutObjectAcl",
"s3:GetObject",
"s3:GetObjectAcl",
"s3:DeleteObject"
],
"Resource": "arn:aws:s3:::ubkorea/*"
}
]
}
Run Code Online (Sandbox Code Playgroud)
当我用 curl 向我的图像发送请求时,它有安静的正常响应Access-Control-Allow-Origin。下面是我的回复。
HTTP/1.1 200 OK
x-amz-id-2: 2v8iSfy/9yvLRe+CFiUqEjUz96IcRC86t1m7IBy1NDakkYIriumosvVYECeYgcPAcCW1axpwF00=
x-amz-request-id: 4ADD8456071CE5C3
Date: Fri, 13 …Run Code Online (Sandbox Code Playgroud)