サムネイルの URL にはパラメーターがあります。理由はわかりません。私たちが使用している sorl-thumbnail または boto ストレージに関連していると思います。URL から追加のパラメーターを削除するにはどうすればよいですか? それらは boto/s3 または sorl から来ていますか。デバッグ方法がわかりません。
4 に答える
追加されている追加のパラメーターは、クエリ文字列認証を実装するためにあります。これにより、S3 に保存されているプライベート リソースへの URL に事前署名することができます。誰かが事前に署名された URL を持っている (そして有効期限が切れていない) 限り、公開されていなくてもこれらのリソースにアクセスできます。
追加のパラメーターがなければ、これらのプライベート S3 リソースへのパブリック アクセスを提供する方法はありません。
私のために働く:AWS_QUERYSTRING_AUTH = False
これを使用してhttps://github.com/mstarinteractive/django-s3storage
from myapp.s3storage import S3BotoStorage
from django.contrib.staticfiles.storage import CachedFilesMixin
class CachedStaticS3BotoStorage(CachedFilesMixin, S3BotoStorage):
"""Extends S3BotoStorage to save static files with hashed filenames."""
pass
StaticRootS3BotoStorage = lambda: CachedStaticS3BotoStorage(location='static')
これは奇妙な動作です。Google Docs プレビューアは機能し、パラメーターなしでプレビューを表示しますが、boto が署名を追加するとプレビューが利用できないと表示されます。
<iframe src="{% trans "https://docs.google.com/viewer?embedded=true&url=" %}{{ document.file.url }}" width="451" height="390" style="border: none;"></iframe>
私は何かが欠けているに違いない。