8

奇妙な問題が発生していて、何が原因なのかわかりません。これが私の現在の設定です(を使用Heroku):

MEDIA_URL = '/media/'
STATIC_URL = '/static/'

STATICFILES_DIRS = (
os.path.join(PROJECT_DIR, '../static'),
)

#Determine if local or deployed.
if 'DATABASE_URL' in os.environ:
    STATICFILES_STORAGE     = 'storages.backends.s3boto.S3BotoStorage'
    AWS_ACCESS_KEY_ID       = 'A...A' 
    AWS_SECRET_ACCESS_KEY   = '...R' 
    DEFAULT_FILE_STORAGE    = 'storages.backends.s3boto.S3BotoStorage'

    # PRODUCTION OR STAGING
    if 'PROD' in os.environ:
        AWS_STORAGE_BUCKET_NAME = 's3.project.com'
        STATIC_URL = "https://s3.amazonaws.com/project/"
    else:
        AWS_STORAGE_BUCKET_NAME = 'project-staging'
        STATIC_URL = "https://s3.amazonaws.com/project-staging/"
else:
    STATIC_ROOT = ''

問題は、静的ファイルが正常に機能していることです。リンクは次のようになりますhttps://s3.amazonaws.com/project-staging/img/homepage_left.png

最初の問題(管理者が半分壊れている):

管理者は半分働いています。CSSファイルは正常に提供されます:https://project-staging.s3.amazonaws.com/admin/js/core.js?Signature=asdasdasd%3D&Expires=1352430664&AWSAccessKeyId=asdasdasAしかし、すべての画像が壊れています:

https://project-staging.s3.amazonaws.com/admin?Signature=%2asdasdad%3D&Expires=1352430664&AWSAccessKeyId=asdasdaimg/icon_calendar.gif

署名とAWSAccesskeyが存在する理由がわかりません:(。これらを(手動で)削除すると、URLは正常に機能します!

2番目の問題(ImageField / FileFieldを介してアップロードされたメディア):

私は使用しています{{MEDIA_URL}}{{object.flyer}}、それはに変換され/media/media/flyers/poster_1.pngます、どうすればそれをs3に指摘できますか?次のようになります。https://project-staging.s3.amazonaws.com/media/flyers/poster_1.png

4

3 に答える 3

0

最初の質問については、次のことを行う必要があると思います。

AWS_QUERYSTRING_AUTH = False
于 2014-06-05T01:22:31.697 に答える
0

2 番目の質問への回答: とMEDIA_URL = https://project-staging.s3.amazonaws.com/media/同じように設定する必要がありますSTATIC_URL

于 2012-11-09T13:49:06.483 に答える