In settings.py
ho:Indicando più secchi S3 in 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'
Questa è rivolto al mio S3 secchio static.mysite.com
e funziona bene quando lo faccio manage.py collectstatic
, si carica tutti i file statici al mio secchio. Tuttavia, ho un altro secchio che io uso per scopi diversi e vorrei utilizzare in determinate aree del sito, ad esempio se ho un modello come questo:
class Image(models.Model):
myobject = models.ImageField(upload_to='my/folder')
Ora, quando Image.save()
viene invocato, sarà ancora caricare il file nel secchio S3 in AWS_STORAGE_BUCKET_NAME
, tuttavia voglio che questo sia Image.save()
che punta a un altro bucket S3. Qualsiasi clean modo di fare questo? Non voglio modificare settings.py
in fase di esecuzione né implementare pratiche che violano i principi chiave di django, ovvero avere una memoria di backend facile da modificare e collegabile.
Bello! Dove raccomandi di inserire questo corso? – abstractpaper
Da qualche parte nel tuo progetto. Di solito ho un'app separata dove tengo tutte le cose specifiche del progetto. –
app principale, grazie mille. – abstractpaper