Django CSS Sfondo immagine usando static_url
-
12-11-2019 - |
Domanda
Ho appena cambiato il mio backend di archiviazione in Amazon S3 e mi sono reso conto che il mio background non si stava caricando per il mio sito. Ho guardato e ho capito che nel mio CSS (in realtà SASS) avevo specificato l'URL di fondo (static/mysite/images/background.gif
).
Mi chiedo come dovrei risolvere questo problema. Certamente io Potevo Cambialo nel mio nuovo URL statico, ma sembra una cattiva pratica. Quindi ho provato a caricare la mia immagine di sfondo, con {{ STATIC_URL }}
, nel mio body
Html, ma poi rende prima il mio background, prima del repeat: no-repeat;
Rende sul mio vero CSS, causando la ripetizione dello sfondo su tutto lo schermo mentre il CSS si carica. Comunque non mi piace mescolare i miei stili nel mio documento.
Allora qual è il modo migliore per fornire un percorso relativo per un'immagine di sfondo in Django? Dovrei impostare il mio CSS come modello e dirigere ad esso attraverso una vista? Sembra anche disordinato.
O dovrei solo dimenticare di realizzarlo static_url agnostic e solo codificare la cosa nel mio CSS?
Soluzione
Ti consente di eseguire il rendering di frammenti di CSS direttamente all'interno del tuo modello che alla fine vengono combinati in un singolo file o puoi persino specificare le opzioni per abilitare l'analisi dei file CSS con il motore e il contesto del modello di Django:http://django_compressor.readthedocs.org/en/latest/settings/#django.conf.settings.compress_css_filters
È sorprendente e ne vale la pena perché non devi pensare alle prestazioni quando si gestisce CSS.