मैं django-storages और sorl_thumbnail का उपयोग कर रहा हूं और मैं स्थिर और मीडिया फ़ाइलों के लिए अमेज़ॅन एस 3 का उपयोग कर रहा हूं। मैं 2 फ़ोल्डरों के साथ एक बाल्टी का उपयोग कर रहा हूं, स्थिर के लिए 1 और मीडिया के लिए 1।django-storages + sorl_thumbnail + S3 अच्छी तरह से काम नहीं कर रहा है (यूआरएल मेल नहीं खाता)
MEDIA_ROOT = '/media/'
MEDIA_URL = 'https://s3.amazonaws.com/my-bucket/media/'
STATIC_ROOT = '/static/'
STATIC_URL = 'https://s3.amazonaws.com/my-bucket/static/'
AWS_STORAGE_BUCKET_NAME = 'my-bucket'
DEFAULT_FILE_STORAGE = 'my_lib.s3utils.MediaRootS3BotoStorage'
STATICFILES_STORAGE = 'my_lib.s3utils.StaticRootS3BotoStorage'
MediaRootS3BotoStorage
और StaticRootS3BotoStorage
इस तरह परिभाषित कर रहे हैं:
StaticRootS3BotoStorage = lambda: S3BotoStorage(location='static')
MediaRootS3BotoStorage = lambda: S3BotoStorage(location='media')
जब मैं sorl_thumbnail उपयोग कर रहा हूँ, थंबनेल उत्पन्न सही निर्देशिका में स्थित हैं: https://s3.amazonaws.com/my-bucket/media/cache
लेकिन जब
यहाँ मेरी config है sorl_thumbnail पहले से मौजूद थंबनेल को पुनः प्राप्त करने का प्रयास कर रहा है, उत्पन्न यूआरएल है: https://s3.amazonaws.com/my-bucket/cache
, आप देखेंगे कि media
फ़ोल्डर छोड़ा गया है।
क्या आपको कोई विचार है कि मैं इसे कैसे ठीक कर सकता हूं?
मैं जानता हूँ कि मैं सिर्फ Django-भंडार इस्तेमाल कर सकते हैं और सभी मेरी बाल्टी में मिश्रित मेरी स्थिर और मीडिया फ़ाइलों है, लेकिन है कि एक सा भी मेरे स्वाद :)
धन्यवाद के लिए गंदा है!
उपरोक्त '__init __() 'विधियों में से प्रत्येक पर' सुपर()' विधियां गलत वर्गों को बुला रही हैं। वे किया जाना चाहिए: 'सुपर (StaticRootS3BotoStorage, आत्म) .__ init __ (* args, ** kwargs)' और 'सुपर (MediaRootS3BotoStorage, आत्म) .__ init __ (* args, ** kwargs)' – niceguydave