Sto usando amazon s3 per archiviare tutti i miei file statici (tramite django-storages) e costa molto più denaro per fare PUT di quanto non guadagni. Quando corro manage.py collectstatic
, Django fa un PUT per ogni singolo file statico che ho. C'è un modo per farlo controllare prima di vedere se il file è stato modificato, e se non ha dato fastidio con il PUT?Django: raccoglie solo file statici modificati
6
A
risposta
12
Sembra che tutto quello che dovete fare è installare python-dateutil:
pip install python-dateutil==1.2
Senza questo django-depositi non controllare le date a causa di questo codice:
def modified_time(self, name):
try:
from dateutil import parser, tz
except ImportError:
raise NotImplementedError()
Il modified_time
genera un errore ma django continua a funzionare perché consente di non implementare il metodo modified_time
di una sottoclasse di archiviazione. Capisco perché lo fanno, perché questa funzionalità non è strettamente necessaria. Detto questo, sarebbe bello avere una sorta di avvertimento che dice perché TUTTO è stato caricato.
Nota che sto usando python-dateutil versione 1.2. Se usi la versione più recente di dateutil, riceverai un errore con django-storages (che è la versione 1.1.4 di django-storages).
Ho installato python-dateutil == 2.1 con django-storages == 1.1.8 e funziona anche. Grazie! –