2012-02-29 12 views
5

Ho una domanda molto semplice che non sono riuscito a trovare una risposta. Usando l'applicazione Django staticfiles, chiamo la routine di raccolta delle statistiche digitando questa riga di comando: python manage.py collectstatic.Come dire a Django staticfiles di non raccogliere file di directory multimediali caricati dall'utente?

Il mio problema è che ho diverse applicazioni che servono statica + una directory multimediale contenente file caricati dall'utente. Django copia tutti i file nella directory statica, inclusi i file multimediali!

Mi piacerebbe che Django non copi i file caricati dall'utente nella directory statica quando chiamo python manage.py collectstatic. Qualcuno ha un'idea? Provato opzione --ignore ma senza successo ...

Grazie in anticipo.

+1

aggiungere qui le impostazioni per le impostazioni, per favore – histrio

+0

Lo spostamento del supporto caricato dall'utente su MEDIA_ROOT (dove appartengono) è un'opzione? – Tony

+0

Infatti, i file vengono caricati dall'utente su MEDIA_ROOT. Tutto è OK e posso usarli nei miei modelli. Il problema è che collectstatics copia 'MEDIA_ROOT/*' in 'STATIC_ROOT'. Quindi ho paura che finisca per sovraccaricare il mio server duplicando ogni singolo file caricato dall'utente ... – user650108

risposta

0

Quindi cosa non funziona esattamente se si utilizza --ignore?

Sebbene la soluzione reale non sia il mix di contenuto generato dall'utente e file statici.

Se si tengono separati entrambi i tipi, è possibile inserire facilmente i file statici sotto il controllo della versione e non avere a che fare con esclusioni anche su questo fronte. E infatti la separazione da supporti (generato dall'utente) e file statici è la logica alla base staticfiles:

Nelle precedenti versioni di Django, era comune per posizionare beni statici in root_supporto insieme ai file caricati dagli utenti, e servirli entrambi a MEDIA_URL. Parte dello scopo di introdurre l'app staticfiles è per rendere più semplice mantenere separati i file statici dai file caricati dall'utente.

La documentazione su questo argomento sono davvero completa: https://docs.djangoproject.com/en/dev/howto/static-files/

6

che era un problema di django.contrib.staticfiles.finders.DefaultStorageFinder, provare a rimuovere che dal STATICFILES_FINDERS.

Problemi correlati