Per il momento (Django 1.9 e precedenti), {% load staticfiles %}
carica il static
templatetag dall'app contrib che ha più funzioni di quella incorporata django.core.static
.
La differenza più importante è staticfiles
in grado di gestire i file memorizzati su CDN, poiché il risolutore può gestire gli hash, ad esempio. core.static
aggiungi il nome file statico, che non è sufficiente se stai elaborando i tuoi file (ad esempio aggiungendo hash md5 per svuotare la cache tra le versioni)
Questa differenza è dovuta al fatto che la gestione dei file di archiviazione non locali era non è dedicato ad essere incluso nel pacchetto base di Django, ma è stato comunque utile a molti sviluppatori per essere implementato come pacchetto contrib. Quindi se hai iniziato a usare staticfiles
, dovevi ricordarti di usarlo ogni volta nei tuoi modelli. MA, alcuni problemi potrebbero apparire, ad esempio quando using Media
classes quindi la decisione è stata quella di unire questi due modelli temporali in uno e utilizzare un comportamento diverso se lo sviluppatore ha INSTALLED_APPS
o meno nello django.contrib.staticfiles
.
Da Django 1.10 and onwards (anche see ticket in Django tracker), il {% load static %}
userà staticfiles
internamente se attivato (oherwise mantenere comportamento di default), e il templatetag nel pacchetto contrib verrà ritirato per evitare confusione.
TL; DR
- Prima Django 1.10:
staticfiles
carichi a templatetags che possono gestire non locale di stoccaggio in cui static
non può (o non facilmente);
- Da Django 1.10:
contrib.staticfiles
l'app esiste ancora ma i suoi templatetags verranno rimossi solo i resti di templatetags; {% static %}
;
- Da Django 2.0 (credo):
{% load staticfiles %}
rimosso.
Per ora, utilizzare staticfiles
templatetags se si utilizza il relativo contrib app (e sai perché lo si utilizza) fino a Django 1.10, altrimenti basta usare static
.
fonte
2015-12-22 20:33:38
Possibile duplicato di [Qual è la differenza tra {% load staticfiles%} e {% load static%}] (http://stackoverflow.com/questions/24238496/what-is-the-difference-between-load -staticfiles-and-load-static) – dyeray
@dyeray yeah Ho letto questo, ma ancora non so quando usare quale e quali persone del campo usano. il mio funziona per entrambi. all'inizio pensavo che stesse caricando la cartella statica ma funziona anche per i file statici ... –