2

デバッグおよびプロダクション モードで静的ファイルを提供するように django セットアップを構成しようとしています。本番モードでは S3 から、デバッグ モードではローカル インストールから取得したいと考えています。以下のような設定をしています。

COMPRESS_ENABLED = not DEBUG
COMPRESS_PARSER = 'compressor.parser.LxmlParser'
COMPRESS_CSS_FILTERS = ['compressor.filters.cssmin.CSSMinFilter']
COMPRESS_JS_FILTERS = ['compressor.filters.jsmin.JSMinFilter']
COMPRESS_STORAGE = 'storages.backends.s3boto.S3BotoStorage'
DEFAULT_FILE_STORAGE = 'libs.storages.S3Storage.S3Storage'

AWS_ACCESS_KEY_ID = # Key
AWS_SECRET_ACCESS_KEY = # Secret

AWS_STORAGE_BUCKET_NAME = # Bucket

AWS_QUERYSTRING_AUTH = False

MEDIA_URL = '/media/'
if COMPRESS_ENABLED:
    from boto.s3.connection import SubdomainCallingFormat
    AWS_S3_CALLING_FORMAT = SubdomainCallingFormat()

    COMPRESS_OFFLINE = True
    STATICFILES_STORAGE = 'storages.backends.s3boto.S3BotoStorage'

    # Path for all static files
    STATIC_URL = 'https://%s.s3.amazonaws.com/' % AWS_STORAGE_BUCKET_NAME
    STATIC_ROOT = STATIC_URL
else:
    STATIC_ROOT = path.join(PROJECT_ROOT, '..', 'assets')
    STATIC_URL = '/static/'

理解できない小さなことを除いて、すべてを機能させることができます。多くの場合、CSS ファイルの背景 URL は/images/logo.png. フォルダ/images/は S3 に存在しますが、私のローカルでは/static/images/. /static/S3 URL を最後に設定しようとしましたが、うまくいきませんでした。私が行方不明になっているものは他にありますか?にリダイレクトする CSS 画像の URL を取得するにはどうすればよい/static/ですか?

4

1 に答える 1

1

のソースコードをざっと読んだs3boto.py。次のプロパティを設定できます。

AWS_LOCATION = "static"

その変数は、statics3 にフォルダーを作成します。その他のプロパティは次のとおりです。

STATIC_URL = 'https://%s.s3.amazonaws.com/static/' % AWS_STORAGE_BUCKET_NAME
STATIC_ROOT = STATIC_URL
于 2014-06-15T19:33:29.777 に答える