我有将图像上传到S3的表格,并且效果很好。但是,对于success_action_redirect
键,我想有一个使用以下形式的模板变量的URL,即
{"success_action_redirect": "localhost/account/{{account.id}}"},
我似乎无法在我的帖子政策中使用它。有办法解决吗?
编辑:
以下是相关行:
<input type="hidden" name="success_action_redirect" value="http://localhost:8000/account/{{account.id}}">
我假设它不起作用,因为{{account.id}}返回了一个数字,因此当S3尝试将其与签名进行比较时,它会将http://localhost:8000/accounts/2
与http://localhost:8000/accounts/{{account.id}}"
之类的东西进行比较。
它返回错误:
Invalid according to Policy: Policy Condition failed: ["eq", "$success_action_redirect", "http://localhost:8000/account/{{account.id}}"]
此外,我尝试使用{% templatetag %}
阻止{{account.id}}
成为变量,尽管它通过了S3,但(显然)它没有重定向到正确的页面。
答案 0 :(得分:3)
在您的策略中,您必须使用starts-with
而不是$eq
来允许成功操作重定向URL匹配前缀。
因此您的政策可能如下:
["starts-with", "$success_action_redirect", "localhost/account/"],
请参阅政策文档: