【问题标题】:Django and S3 Bucket aws Admin Static filesDjango 和 S3 Bucket aws Admin 静态文件
【发布时间】:2021-06-19 15:48:58
【问题描述】:

我有一个 django 项目,我想配置 S3 Bucket 以存储静态文件。 创建后,站点会加载,但不会从存储桶中检索文件,因此即使管理页面也没有 CSS,如屏幕截图所示:

这是用于存储桶配置的设置:

STATIC_URL = '/static/'

MEDIA_URL = '/images/'

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

MEDIA_ROOT = os.path.join(BASE_DIR, 'static/images')




AWS_ACCESS_KEY_ID = '************'
AWS_SECRET_ACCESS_KEY = '********************'
AWS_STORAGE_BUCKET_NAME = 'BUCKET_NAME'
AWS_S3_FILE_OVERWRITE = False
AWS_DEFAULT_ACL = None
DEFAULT_FILE_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'
STATICFILES_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'

我将(存储)添加到已安装的应用程序中。 存储桶策略 (CORS) 设置为:

[
    {
        "AllowedHeaders": [
            "*"
        ],
        "AllowedMethods": [
            "GET",
            "PUT",
            "POST",
            "DELETE"
        ],
        "AllowedOrigins": [
            "*"
        ],
        "ExposeHeaders": [
            "x-amz-server-side-encryption",
            "x-amz-request-id",
            "x-amz-id-2"
        ],
        "MaxAgeSeconds": 3000

我也试过了(py manage.py collectstatic) 如果不手动上传,存储桶中会出现一个管理文件夹,但即使在使用“Collectstatic”之后我仍然遇到同样的问题(没有 css,没有图像,...)

我正在兜圈子,找不到解决方案,如果有人能提供帮助,我将不胜感激。

提前谢谢你

【问题讨论】:

    标签: django amazon-web-services amazon-s3 django-admin


    【解决方案1】:

    尝试将完整的 aws 链接添加到您的媒体和静态网址:

    STATIC_URL = "https://%s/%s/" % (AWS_S3_CUSTOM_DOMAIN, AWS_LOCATION)
    MEDIA_URL = "https://%s/%s/" % (AWS_S3_CUSTOM_DOMAIN, AWS_LOCATION_MEDIA)
    

    确保添加这些字段希望它有效。

    AWS_S3_SIGNATURE_VERSION = 's3v4'
    AWS_S3_REGION_NAME = 'us-east-2'
    AWS_S3_ADDRESSING_STYLE = "virtual"
    

    此外,检查浏览器中生成的 aws 中的静态文件链接以查看响应内容可能会进一步帮助您。

    【讨论】:

    • 媒体和静态 url 应该包含完整的 aws url,我将编辑我的答案以获取更多信息......
    • 成功了!我刚刚又收集了一次静电,,,谢谢
    • 我删除了我以前的 cmets,因为它们可能会误导 ***
    • 好的,我认为为了获得最佳实践,您应该添加完整的 aws 路径让我知道
    猜你喜欢
    • 2013-01-15
    • 2019-04-15
    • 2022-01-27
    • 1970-01-01
    • 2022-01-18
    • 2021-02-28
    • 2016-12-22
    • 2023-01-09
    • 2013-12-27
    相关资源
    最近更新 更多