gpt4 book ai didi

django - 从 S3 wagtail 提供静态和媒体文件

转载 作者:行者123 更新时间:2023-12-02 01:13:11 25 4
gpt4 key购买 nike

我们将开始使用 S3 来托管我们的静态和媒体文件。

有没有人有一个很好的链接来描述如何用 wagtail 做到这两点?

我们正在使用 wagtail 1.9。

我不能让他们同时工作。

https://wagtail.io/blog/amazon-s3-for-media-files/

非常感谢任何帮助。

最佳答案

感谢两位的回应。

我已经设法解决了。

明确地说,我想在 S3 中使用同一个存储桶来为 wagtail 站点提供我的静态文件和媒体文件。

我们正在使用带有 FROM python:2.7 的 docker 容器

  • wagtail==1.9
  • django-storages==1.5.2
  • boto3==1.4.4

  • custom_storages.py
    from django.conf import settings
    from storages.backends.s3boto3 import S3Boto3Storage
    class StaticStorage(S3Boto3Storage):
    location = settings.STATICFILES_LOCATION
    class MediaStorage(S3Boto3Storage):
    location = settings.MEDIAFILES_LOCATION

    设置文件
    STATICFILES_LOCATION = 'static'
    MEDIAFILES_LOCATION = 'media'
    STATICFILES_STORAGE = 'pcstudents.custom_storages.StaticStorage'
    DEFAULT_FILE_STORAGE = 'pcstudents.custom_storages.MediaStorage'
    COMPRESS_STORAGE = STATICFILES_STORAGE
    AWS_S3_OBJECT_PARAMETERS = {
    'CacheControl': 'max-age=86400',
    }
    AWS_S3_REGION_NAME = 'region'
    AWS_S3_SIGNATURE_VERSION = 's3v4'
    AWS_QUERYSTRING_AUTH = False
    AWS_STORAGE_BUCKET_NAME = 'bucketname'
    AWS_ACCESS_KEY_ID = 'secrets'
    AWS_SECRET_ACCESS_KEY = 'moresecrets'
    AWS_S3_CUSTOM_DOMAIN = '%s.s3.amazonaws.com' % AWS_STORAGE_BUCKET_NAME
    AWS_PRELOAD_METADATA = True
    STATIC_URL = "https://%s/" % AWS_S3_CUSTOM_DOMAIN
    MEDIA_URL = "https://%s/media/" % AWS_S3_CUSTOM_DOMAIN
    COMPRESS_ROOT = ''
    STATICFILES_FINDERS = [
    'django.contrib.staticfiles.finders.FileSystemFinder',
    'django.contrib.staticfiles.finders.AppDirectoriesFinder',
    'compressor.finders.CompressorFinder',
    ]
    STATICFILES_DIRS = [
    '/code/static',
    '/usr/local/lib/python2.7/site-packages/wagtail/wagtailadmin/static/wagtailadmin',
    ]

    通过这个设置,我最终得到了一个 S3 存储桶,其中有两个文件夹,静态和媒体。

    我可以将静态数据收集到 S3 静态文件夹中,并从/向媒体文件夹上传和下载。

    如果有人能看到任何改进的方法,那我就全神贯注了,但这确实有效。

    马特

    关于django - 从 S3 wagtail 提供静态和媒体文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43999600/

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