1
votes

Nouvelle installation de Wagtail: CSS ne fonctionne pas

J'ai essayé le guide d'installation officiel pour installer wagtail localement:

À chaque fois, cela semblait fonctionner correctement mais tout le CSS était cassé (voir photo ci-dessous)

J'ai essayé de faire "manage.py collectstatic", cela m'a dit que 2 / 3 cents fichiers ont été copiés, j'ai vidé le cache de mon navigateur, chargé à nouveau la page, aucun changement.

Dans la console il semble que les fichiers sont envoyés: [14 / Jul / 2019 10:16:54] "GET /static/css/welcome_page.css HTTP / 1.1" 200 3003

J'ai redémarré plusieurs fois les tutoriels depuis le début en m'assurant de bien faire chaque étape exactement comme décrit, rien ne change. Quand je commence avec un nouveau projet django, le css de base de django fonctionne avant d'ajouter wagtail. J'utilise Python 3.6.8, Django 2.2.3 et Wagtail 2.5.1. Qu'est-ce que je fais mal?

 Bergeronnette avec css cassé

Pour répondre au commentaire de @Dan Swain:

Settings.py file :


4 commentaires

Veuillez publier votre wsgi.py , votre fichier de paramètres auquel wsgi.py accède ainsi que la structure de vos dossiers.


@DanSwain J'ai inclus les fichiers wsgi.py, settings.py et la structure des dossiers du projet django où j'ai ajouté wagtail


Développez-vous sur runserver ou sur un autre serveur?


@DanSwain sur local, avec "python manage.py runserver"


3 Réponses :


0
votes

Une structure de dossier Wagtail standard comprend un dossier settings (pas seulement un fichier settings.py ). Dans le dossier settings , vous trouverez base.py , dev.py , local.py et production.py . Vous utilisez à la place un simple fichier settings.py qui se trouve au même niveau dans la structure de répertoire que votre wsgi.py . Dans votre settings.py , vous avez une déclaration BASE_DIR qui est généralement utilisée dans la configuration de settings dossier :

BASE_DIR = os.path.dirname(os.path.abspath(__file__))

Je pense que votre problème sera résolu si vous remplacez cette ligne par:

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))


2 commentaires

J'ai appliqué votre solution. Quand j'ai redémarré le serveur, j'ai eu un "OperationalError at / no such table: wagtailcore_site". J'ai annulé les modifications et j'ai reçu le message "Bienvenue sur votre nouveau site Bergeronnette!" toujours sans CSS Dans un autre dossier avec un autre env virtuel, j'ai fait toute l'installation de wagtail ( docs.wagtail.io/en/latest/getting_started/tutorial.html ) et a obtenu les fichiers base.py, dev.py, local.py et production.py comme vous l'avez décrit. La page d'accueil semble complète mais toujours pas de CSS, cela la rend vraiment difficile à utiliser.


"no such table" peut indiquer que vous devez exécuter python manage.py migrate afin de créer les tables Wagtail, mais je n'en suis pas certain puisque vous avez dit que vous pouviez parfois voir le site.



0
votes

D'accord, mon serveur django-wagtail servait simplement du CSS mais avec un type MIME incorrect. Mon navigateur a reçu les css mais à cause du mauvais type MIME, il ne les a pas appliqués

J'ai dû ajouter:

import mimetypes 
mimetypes.init() 
mimetypes.types_map['.css'] = 'text/css'

À mes fichiers de paramètres et tout fonctionnait bien p >


0 commentaires

0
votes

J'ai trouvé 3 fichiers de style manquants par le débogage F12. Copiez le dossier de style dans le dossier cible. De wagtail-master \ wagtail \ admin \ static_src \ wagtailadmin \ scss à wagtail-master \ wagtail \ admin \ static \ wagtailadmin \ css . Cela résout mon erreur de style.


0 commentaires