django - एस 3 wagtail से स्थिर और मीडिया फ़ाइलों की सेवा




amazon-s3 (2)

हम अपने स्थिर और मीडिया फ़ाइलों को होस्ट करने के लिए एस 3 का उपयोग शुरू करने जा रहे हैं।

क्या किसी के पास एक अच्छा लिंक है जो कि दोनों को कैसे वाग्टेल के साथ करना है?

हम वॅगटेल 1.9 पर हैं

मैं एक ही समय में काम करने के लिए उन दोनों को नहीं मिल सकता।

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

किसी भी मदद काफी सराहना की


Wagtail.io पर इस ब्लॉग पोस्ट ने मुझे बहुत मदद की लेकिन आप किन मुद्दों का सामना कर रहे हैं? क्या आप इसे मीडिया और स्थिर दोनों फाइलों के लिए अलग से काम कर सकते हैं?


प्रतिक्रिया के लिए धन्यवाद दोनों

मैंने इसे काम करने में कामयाब रहा है

स्पष्ट होने के लिए, मैं वेटटेल साइट के लिए मेरी स्थैतिक और मेरी मीडिया फ़ाइलों की सेवा के लिए S3 में एक ही बाल्टी का उपयोग करना चाहता हूं।

हम फादर अजगर के साथ डॉकर कंटेनरों का उपयोग कर रहे हैं: 2.7

  • वेग्टेल == 1.9
  • Django-भंडार == 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',
]

इस सेटअप के साथ मैं एक एस 3 बाल्टी के साथ समाप्त होता हूं, जिसमें दो फ़ोल्डर्स स्थिर और मीडिया होते हैं I

मैं एस 3 स्टैटिक फ़ोल्डर में इकट्ठा कर सकता हूं, और मीडिया फ़ोल्डर से अपलोड / डाउनलोड कर सकता हूं।

अगर कोई मुझे सुधारने के किसी भी तरीके से देख सकता है कि मैं सभी कान हूं, लेकिन यह काम करता है।

मैट







wagtail