Django AWS S3 媒体文件

7

在使用Django时,我正在尝试仅将AWS S3存储用于上传和读取文件,这在MEDIA_URL上运作良好,但使用AWS S3的问题是,我不知何故失去了对CSS和JavaScript文件所在的STATIC_URL的引用。

我只想让MEDIA_URL指向S3,并使我的STATIC_URL远离AWS S3...这可能吗?

# Static asset configuration                                         
BASE_DIR = os.path.dirname(os.path.abspath(__file__))
STATIC_ROOT = 'staticfiles'
STATIC_URL = '/static/'

STATICFILES_DIRS = (
    os.path.join(BASE_DIR, 'static'),
)

if DEBUG:
   MEDIA_ROOT = os.environ['MEDIA_ROOT']
   MEDIA_URL = os.environ['MEDIA_URL']
else: 
   DEFAULT_FILE_STORAGE = 'storages.backends.s3boto.S3BotoStorage'
   AWS_ACCESS_KEY_ID = os.environ.get('AWS_ACCESS_KEY_ID')
   AWS_SECRET_ACCESS_KEY = os.environ.get('AWS_SECRET_ACCESS_KEY')
   AWS_STORAGE_BUCKET_NAME = os.environ.get('AWS_STORAGE_BUCKET_NAME')
   MEDIA_URL = 'http://%s.s3.amazonaws.com/' % AWS_STORAGE_BUCKET_NAME
1个回答

0

将 STATIC_URL 更改为 "STATIC_ROOT = os.path.join(BASE_DIR,'static')"。也可以使用 decouple 隐藏这些变量。


你的回答可以通过提供更多支持信息来改进。请编辑以添加进一步的细节,例如引用或文档,以便他人可以确认你的答案是正确的。您可以在帮助中心中找到有关如何编写良好答案的更多信息。 - Community

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接