我们将开始使用S3来托管我们的静态AND媒体文件。
有没有人有一个很好的链接来描述如何用wagtail做什么?
我们不知道1.9。
我不能让他们两个同时工作。
https://wagtail.io/blog/amazon-s3-for-media-files/
非常感谢任何帮助。
答案 0 :(得分:1)
This blog post对我帮助很大。但是你面临的问题是什么?你能让它分别为媒体和静态文件工作吗?
答案 1 :(得分:1)
感谢您的回复。
我设法解决了这个问题。
要明确的是,我想在S3中使用相同的存储桶为我的静态和我的媒体文件提供服务。
我们正在使用具有FROM python:2.7
的docker容器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存储桶,其中有两个文件夹,静态和媒体。
我可以将statstatic收集到S3静态文件夹中,并从/向媒体文件夹上传和下载。
如果有人能看到任何方法来改善我的全部耳朵,但这确实有效。
马特