W settings.py
mam:Wskazując na wielu wiader S3 w s3boto
STATICFILES_STORAGE = 'storages.backends.s3boto.S3BotoStorage'
DEFAULT_FILE_STORAGE = 'storages.backends.s3boto.S3BotoStorage'
AWS_ACCESS_KEY_ID = 'xxxxxxxxxxxxx'
AWS_SECRET_ACCESS_KEY = 'xxxxxxxxxxxxx'
AWS_STORAGE_BUCKET_NAME = 'static.mysite.com'
ten jest skierowany do mojego S3 wiadra static.mysite.com
i działa dobrze, gdy robię manage.py collectstatic
, to ładuje wszystkie pliki statyczne do mojego wiadra. Jednak mam inny wiadro, które używać do różnych celów, a chcieliby skorzystać w niektórych obszarach strony internetowej, na przykład jeśli mam model takiego:
class Image(models.Model):
myobject = models.ImageField(upload_to='my/folder')
Teraz kiedy Image.save()
jest wywoływana, to będzie nadal prześlij plik do wiadra S3 w AWS_STORAGE_BUCKET_NAME
, ale chcę, aby to Image.save()
wskazywało inne wiadro S3. Czy można to zrobić w dowolny sposób: clean? Nie chcę zmieniać settings.py
w czasie wykonywania ani implementować żadnych praktyk, które naruszają kluczowe zasady django, tj. Posiadające wtyczkową, łatwą do zmiany pamięć zaplecza.
Nice! Gdzie polecasz tę klasę? – abstractpaper
Gdzieś w projekcie. Zwykle mam osobną aplikację, w której trzymam wszystkie rzeczy związane z konkretnym projektem. –
podstawowa aplikacja to, wielkie dzięki. – abstractpaper