Perché le cartelle statiche e dei media django non sono preconfigurate?
-
27-10-2019 - |
Domanda
Stavo presentando una dimostrazione di Django a mio fratello e mi ha posto le seguenti domande: "Perché le cartelle statiche e dei media django non sono preconfigurate? Il suo scopo non è essere una convenzione rispetto al framework di configurazione? Perché lo sono dovrebbe configurare queste cose ogni volta che inizio un progetto Django? "
Non potevo rispondere a lui. Qualcuno può?
PS: non intendo confrontare Django con altri framework. Sto solo cercando di capire perché sono state prese queste decisioni di progettazione;
Soluzione
Django è decisamente non Una convenzione sul framework di configurazione. Tuo fratello sta forse pensando ai binari, il che segue quel principio - ma Django segue il principio Python di "esplicito è meglio che implicito".
Altri suggerimenti
Perché Django non dovrebbe distribuire file multimediali comunque. Quando leggi la documentazione puoi vedere che i file statici dovrebbero (e devono) essere distribuiti dal motore del server e/o da una sorta di CDN quando sei in produzione. Django, è qui solo per elaborare le tue pagine ma non i tuoi media. E quando sei in sviluppo, in effetti, devi usare Django per distribuire file statici. Ma puoi usare uno script Python per generarlo e gestirlo. Per me, uno dei migliori è: Django Mediagenerator. Ciò consentirà ai tuoi file come se fossero in modalità Dev, ma questo lo ottimizzerà in produzione.