gpt4 book ai didi

django - 使用 Django 和 s3boto,一些管理图像(icon_clock.gif 和 icon_calendar.gif)不显示

转载 作者:行者123 更新时间:2023-12-02 22:11:57 45 4
gpt4 key购买 nike

所有文件,包括那些未正确显示的文件,都存在于我在亚马逊的存储桶中。我发现仅有的两个不显示的图像是 icon_clock.gif 和 icon_calendar.gif。其他一切正常。

当我检查损坏图像的链接位置时,我得到了这个:

 https://my_bucket_name.s3.amazonaws.com/admin?Signature=MY_SIGNATURE&AWSAccessKeyId=MY_KEYimg/icon_clock.gif

如您所见,查询参数并未添加到末尾,而是添加到链接的中间。

相关设置如下:

import os.path

ROOT_DIR = os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))
PROJECT_NAME = os.path.basename(ROOT_DIR)

def ABS_PATH(*args):
return os.path.join(ROOT_DIR, *args)

STATIC_ROOT = ABS_PATH('static')

AWS_ACCESS_KEY_ID = 'MY_KEY'
AWS_SECRET_ACCESS_KEY = 'MY_SECRET_ACCESS_KEY'

AWS_STORAGE_BUCKET_NAME = 'my_bucket_name'
STATICFILES_STORAGE = 'storages.backends.s3boto.S3BotoStorage'
S3_URL = 'http://%s.s3.amazonaws.com/' % AWS_STORAGE_BUCKET_NAME
STATIC_URL = S3_URL

最佳答案

这似乎在当前的 django-storages 开发版本中得到了修复。参见 issue 121获取更多信息。

快速解决步骤:

  1. -e hg+https://bitbucket.org/david/django-storages@e27c8b61ab57e5afaf21cccfee005c980d89480f#egg=django_storages-dev
  2. 替换你requirements.txt中的django-storages
  3. 在您的设置中,添加 AWS_QUERYSTRING_AUTH = False。此设置的结果是 AWS 身份验证内容并未包含在每个 URL 中。仅当您的 S3 存储桶中的所有文件都是公开的时才执行此操作。

关于django - 使用 Django 和 s3boto,一些管理图像(icon_clock.gif 和 icon_calendar.gif)不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15149815/

45 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com