Новая установка трясогузки: CSS не работает

Я попробовал официальное руководство по установке для локальной установки трясогузки:

Каждый раз казалось, что функционально все работает нормально, но весь CSS был сломан (см. рис. ниже).

Я попытался сделать "manage.py collectstatic", он сказал мне, что 2/3 сотни файлов были скопированы, я очистил кеш своего браузера, снова загрузил страницу, без изменений.

В консоли кажется, что файлы отправлены: [14/Jul/2019 10:16:54] "GET /static/css/welcome_page.css HTTP/1.1" 200 3003

Я несколько раз перезапускал учебники с самого начала, чтобы убедиться, что я делаю каждый шаг точно так, как описано, ничего не меняется. Когда я начинаю новый проект django, базовый django css работает до того, как я добавлю трясогузку. Я использую Python 3.6.8, Django 2.2.3 и Wagtail 2.5.1. Что я делаю неправильно ?

Новая установка трясогузки: CSS не работает

Чтобы ответить на комментарий @Dan Swain:

Settings.py file :

https://pastebin.com/zZqDesnrНовая установка трясогузки: CSS не работает

Пожалуйста, опубликуйте свой wsgi.py, файл настроек, к которому обращается wsgi.py, а также структуру вашей папки.

Dan Swain 14.07.2019 23:06

@DanSwain Я включил файлы wsgi.py, settings.py и структуру папок проекта django, куда добавил трясогузку.

Jay D. 15.07.2019 12:37

Вы разрабатываете на runserver или на каком-то другом сервере?

Dan Swain 15.07.2019 15:08

@DanSwain на локальном компьютере с «сервером запуска python manage.py»

Jay D. 16.07.2019 15:03
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
CSS: FlexBox
CSS: FlexBox
Ранее разработчики использовали макеты с помощью Position и Float. После появления flexbox сценарий полностью изменился.
1
4
952
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

Одна стандартная структура папок трясогузки включает в себя settingsпапка (а не просто settings.py файл). Внутри папки settings вы найдете base.py, dev.py, local.py и production.py. Вместо этого вы используете простой файл settings.py, который находится на том же уровне в структуре каталогов, что и ваш wsgi.py. Внутри вашего settings.py у вас есть объявление BASE_DIR, которое обычно используется в настройке settingsпапка:

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

Я думаю, что ваша проблема будет исправлена, если вы измените эту строку на:

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

Я применил ваше исправление. Когда я перезапустил сервер, я получил «Операционная ошибка в / нет такой таблицы: wagtailcore_site». Я отменил изменения и получил сообщение «Добро пожаловать на ваш новый сайт о трясогузках!» все еще без CSS. В другой папке с другой виртуальной средой я выполнил всю установку трясогузки (docs.wagtail.io/en/latest/getting_started/tutorial.html) и получил файлы base.py, dev.py, local.py и production.py, как вы описали. Страница приветствия кажется завершенной, но CSS по-прежнему отсутствует, что делает ее очень сложной в использовании.

Jay D. 19.07.2019 16:29

«нет такой таблицы» может означать, что вам нужно запустить python manage.py migrate для создания таблиц трясогузки, но я не уверен, поскольку вы сказали, что иногда можете просматривать сайт.

Dan Swain 19.07.2019 17:50
Ответ принят как подходящий

Итак, просто мой сервер django-wagtail обслуживал css, но с неправильным типом mimetype. Мой браузер получил css, но из-за неправильного MIME-типа он их не применил.

Я должен был добавить:

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

К моим файлам настроек и все работало нормально

Я обнаружил недостающие 3 файла стилей с помощью отладки F12. Скопируйте папку стиля в целевую папку. От wagtail-master\wagtail\admin\static_src\wagtailadmin\scss до wagtail-master\wagtail\admin\static\wagtailadmin\css. Это решает мою ошибку стиля.

если не работает CSS в админке в трясогузке. вы должны сначала проверить настройку nginx. в nginx должны быть такие конфигурации:

location /static/ {
        alias /home/path_to_project/project/staticfiles/;
    }

обратите внимание, должен быть псевдоним, а не root

Другие вопросы по теме