2012-05-29 6 views
6

Sto iniziando a utilizzare l'applicazione "django.contrib.staticfiles" per raccogliere i file statici nella directory/static/del mio progetto.Come eseguire l'override del server di sviluppo file statico di django?

Il problema è che quando utilizzo il server di sviluppo django (manage.py runserver) serve automaticamente file statici.

Di solito va bene, ma nel mio caso, mi piacerebbe servire questi file statici me stesso.

vorrei mettere nel file urls.py qualcosa del genere:

urlpatterns += patterns('', 
     url('^static/(?P<path>.*)$', myStaticMediaServe,{'document_root': settings.STATIC_ROOT ,'show_indexes': True}), 
     ) 

Il problema è che l'applicazione 'django.contrib.staticfiles' ha la priorità su '//static' url quando settings.DEBUG = True: Non riesco a trovare un modo per fare in modo che Django usi la mia descrizione '/ static /' urlpattern mentre si trova in modalità debug

Se rimuovo 'django.contrib.staticfiles' da settings.py: my '/ static/'urlpattern funziona ma perdo i file statici che raccolgo.

Avete un idea di utilizzare 'django.contrib.staticfiles' e utilizzare il mio server file statici tramite una descrizione URLPATTERN e hanno settins.DEBUG = True

risposta

0

Impostare DEBUG-False. Django serve solo file statici quando è True.

+1

sfortunatamente, sto sviluppando, ho bisogno di debug su True! – Eric

5

Ho rilevato che, per impostazione predefinita, django 'runserver' stesso, preempts/static/urls: anche con middleware personalizzato, non è possibile forzare django a puntare '/ static /' sul proprio codice.

L'unica soluzione che ho trovato: utilizzare l'opzione --nostatic per "./manage.py runserver", quindi è possibile utilizzare i propri schemi e viste di URL per servire file statici.

Problemi correlati