Maison  >  Article  >  interface Web  >  Que dois-je faire si Django a modifié le fichier CSS mais que cela ne prend pas effet ?

Que dois-je faire si Django a modifié le fichier CSS mais que cela ne prend pas effet ?

醉折花枝作酒筹
醉折花枝作酒筹original
2021-05-18 17:11:254502parcourir

Solution : 1. Configurez correctement "STATIC_URL" et "STATIC_ROOT" dans le fichier "settings.py" ; 2. Exécutez la commande "python manage.py collectstatic" ; 3. Redémarrez gunicorn et nginx.

L'environnement d'exploitation de ce tutoriel : système Windows 7, version CSS3&&HTML5, ordinateur Dell G3.

Après avoir déployé Django sur le serveur, chaque modification du site Web côté local doit être synchronisée côté serveur. Avant d'écrire cet article, je pensais qu'il suffirait de simplement garder le code source synchronisé, mais je ne m'y attendais pas. J'ai rencontré un problème aujourd'hui.

Après avoir modifié le fichier main.css, j'ai ensuite synchronisé le site Web via git, et le code a été synchronisé avec succès avec le serveur. Mais il ne peut tout simplement pas être affiché normalement. Après quelques recherches et explorations, j'ai trouvé la bonne façon de modifier les fichiers statiques tels que les CSS...

1 Fichier de configuration

Tout d'abord. , assurez-vous de modifier les paramètres sous votre projet. Le fichier .py a été correctement configuré avec STATIC_URL et STATIC_ROOT :

STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR,'static/')

Veuillez faire attention au "/" entre guillemets /. empêchera votre modification de prendre effet. C'est parce qu'il y en a un supplémentaire ici. Alors que signifient ces deux paramètres

STATIC_ROOT est une adresse absolue, qui n'est utilisée que lors du déploiement ? Django. Le dossier auquel il correspond est Stockez les fichiers statiques collectés à différents endroits du projet, car un Django peut avoir plusieurs applications. En conséquence, chaque application peut avoir ses propres fichiers statiques. Les fichiers statiques de chaque application sont rassemblés pour une utilisation unifiée. par nginx. Qui collecte ces fichiers ? Cette question sera abordée dans la deuxième étape. La fonction de

STATIC_URL est de permettre au navigateur d'accéder à vos fichiers statiques. static/"

2. Collecter les fichiers

Une fois le fichier CSS local synchronisé avec le serveur, il n'est synchronisé qu'avec le dossier statique sous l'application correspondante, mais nginx, etc. Qu'est-ce que appelé est le fichier dans le dossier STATIC_ROOT que vous avez défini, donc après la synchronisation du code, nous devons effectuer cette opération très importante :

python manage.py collectstatic

Après avoir exécuté ce code, le fichier main.css qui vient d'être modifié sera collecté dans le fichier statique fichier dans le répertoire racine du site Web et attendez que nginx l'appelle

3. Redémarrez le service

Après avoir terminé les deux premières étapes, vous devez toujours redémarrer gunicorn et nginx, mais I Cela prendra effet sans redémarrage. S'il ne prend pas effet, il est recommandé d'effectuer cette étape

# 查看gunicorn进程ID
pstree -ap | grep gunicorn

# 重启进程
kill -HUP ID

Apprentissage recommandé : Tutoriel vidéo CSS

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn