【问题标题】:Wagtail new installation : CSS not workingWagtail 新安装:CSS 不工作
【发布时间】:2019-07-14 08:27:16
【问题描述】:

我尝试了官方安装指南在本地安装 wagtail:

每次它似乎在功能上都能正常工作,但所有的 CSS 都坏了(见下图)

我尝试做“manage.py collectstatic”,它告诉我已经复制了2/3百个文件,我清空了浏览器的缓存,重新加载了页面,没有变化。

在控制台中,文件似乎已发送: [14/Jul/2019 10:16:54]“GET /static/css/welcome_page.css HTTP/1.1”200 3003

我从一开始就重新启动了几次教程,确保我完全按照描述的方式执行每个步骤,没有任何变化。当我开始一个新的 django 项目时,在我添加 wagtail 之前,基本的 django css 正在工作。我正在使用 Python 3.6.8、Django 2.2.3 和 Wagtail 2.5.1。我做错了什么?

回答@Dan Swain 评论:

Settings.py file :

https://pastebin.com/zZqDesnr

【问题讨论】:

  • 请发布您的wsgi.py、wsgi.py 正在访问的设置文件以及您的文件夹结构。
  • @DanSwain 我添加了 wagtail 的 wsgi.py、settings.py 文件和 django 项目的文件夹结构
  • 你是在 runserver 还是其他服务器上开发?
  • @DanSwain 在本地,带有“python manage.py runserver”

标签: css django wagtail


【解决方案1】:

一个标准的 Wagtail 文件夹结构包括一个 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__))

【讨论】:

  • 我应用了你的修复。当我重新启动服务器时,我收到“OperationalError at / no such table: wagtailcore_site”。我恢复了更改,并得到了“欢迎来到您的新 Wagtail 网站!”仍然没有 CSS 在另一个具有另一个虚拟环境的文件夹中,我完成了整个 wagtail 安装 (docs.wagtail.io/en/latest/getting_started/tutorial.html) 并获得了您所描述的 base.py、dev.py、local.py 和 production.py 文件。欢迎页面看起来很完整,但仍然没有 CSS,它真的很难使用。
  • "no such table" 可能表明您需要运行 python manage.py migrate 才能创建 Wagtail 表,但我不确定,因为您说您有时可以查看网站。
【解决方案2】:

好吧,我的 django-wagtail 服务器正在服务 css,但 mimetype 不正确。我的浏览器收到了 css,但由于 mimetype 错误,它没有应用它们

我必须补充:

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

到我的设置文件,一切正常

【讨论】:

    【解决方案3】:

    我通过 F12 调试发现缺少 3 个样式文件。将样式文件夹复制到目标文件夹。从wagtail-master\wagtail\admin\static_src\wagtailadmin\scss 到wagtail-master\wagtail\admin\static\wagtailadmin\css。这解决了我的风格错误。

    【讨论】:

      【解决方案4】:

      如果 CSS 在 wagtail 的管理面板中不起作用。你应该首先检查你的 nginx 设置。 nginx里面应该有这样的配置:

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

      请注意,别名应该不是root

      【讨论】:

        猜你喜欢
        • 2011-09-29
        • 2013-07-14
        • 2018-05-07
        • 2017-12-06
        • 2013-11-11
        • 2011-09-05
        • 2016-01-12
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多