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...
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/"
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
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!