Les fichiers CSS dans un projet Django
Bonjour,
J'ai un projet test dans lequel j'ai un fichier "base.html" qui contient une balise {% load static %} et une balise {block css} pour y intégrer une balise link:css. l'idée est ensuite d'utiliser la balise "block css" pour que chaque fichier html enfant du parent "base.html" puisse disposer de sa propre feuille de style.
Suis-je obligé de retaper la balise "load static" suite à chaque "extends 'base.html' ? j'ai une erreur quand je ne renseigne pas cette balise.
Ensuite, j'ai supprimé volontairement le contenu d'un fichier css dans lequel il y avait quelques propriétés. Malgré des Ctrl+C et des "python manage.py runserver", la mise en page de la page html était la même. En supprimant le fichier, c'est ok mais en le recréant et en le renommant de la même façon, les anciennes propriétés se sont réappliquer. Comment est-ce possible ?
Merci et bonne journée.
Salut !
Pour ta première question, la balise {% load static %} doit être effectivement présente dans chaque fichier HTML qui hérite de "base.html" si tu vas utiliser des fichiers statiques dans ces fichiers enfants. Le {% extends 'base.html' %} ne répète pas automatiquement les balises {% load %} du parent, donc tu dois le faire manuellement pour chaque fichier enfant.
Pour ta deuxième question, ce que tu décris ressemble à un problème de mise en cache des fichiers statiques. Lorsque tu exécutes ton serveur en développement avec Django à l'aide de python manage.py runserver, les fichiers statiques (comme les fichiers CSS) sont souvent mis en cache par ton navigateur pour optimiser les temps de chargement.
Donc, si tu changes un fichier CSS et que tu ne vois pas le changement directement dans ton navigateur, c'est probablement parce que ton navigateur a une version mise en cache de ce fichier. Pour forcer le navigateur à recharger les fichiers statiques, tu peux essayer de :
-
Rafraîchir la page avec Ctrl+F5 ou Cmd+Shift+R, ce qui devrait dire au navigateur de recharger tous les fichiers sans tenir compte du cache.
-
Vider manuellement le cache de ton navigateur. La méthode varie en fonction du navigateur que tu utilises.
-
Changer le nom du fichier CSS. Tu as déjà essayé ça, et cela peut aider parce que le navigateur pense qu'il s'agit d'un nouveau fichier et l'exige donc sans se référer au cache.
Tiens nous au courant.
Inscris-toi
(c'est gratuit !)
Tu dois créer un compte pour participer aux discussions.
Créer un compte