STATIC_ROOT 未提供夹层静态文件

Mezzanine Static files not serving from STATIC_ROOT

我是 Mezzanine 的新手,不是 Django 的专家。我正在尝试更改默认的 Mezzanine 主题。我正在执行这些步骤来覆盖默认的 Mezzanine 主题,

python manage.py collectstatic

创建了一个新的静态文件夹,它将整个项目中的所有静态文件存储在此文件夹中 (STATIC_ROOT)。这包括 Mezzanine 默认静态文件以及 virtualenv/lib/python2.7/site-packages/mezzanine/core/static/

那我运行

python manage.py collecttemplates

创建了一个新的模板文件夹,将项目中的所有模板存储在该文件夹中。

现在,当我对 /templates 目录中的文件进行更改时,我会在开发服务器中看到这些更改。

但是当我在 /static 目录文件中进行更改时,我在开发服务器中看不到这些更改。

要更改 css 文件我必须去 virtualenv/lib/python2.7/site-packages/mezzanine/core/static/路径然后只有我能看到开发服务器的变化

我想知道我做错了什么。我不想在夹层 css 文件中进行更改,我想从 static_root.

中覆盖它们

好的,经过一番研究我意识到,这不是覆盖模板的方法。您想要从 Mezzanine 包复制静态文件夹并将其粘贴到您要使用它的应用程序中,然后编辑复制的文件。这是写在夹层文档中的,我错过了那部分。

在夹层和一般的 django 站点中,您不应直接编辑 /static 文件夹中的文件,因为每次使用 collectstatic 命令时这些文件都会被覆盖。

Mezzanine 提供的每个模板都可以在 Mezzanine 组成的每个 Django 应用程序的模板目录中找到。例如 mezzanine/core/templates/base.html.

中的基本模板

要编辑您想要修改的模板,请将它们复制到项目的模板目录中并在那里进行修改。您还可以使用 collecttemplates 命令自动复制模板。 运行 python manage.py collecttemplates --help 获取更多信息。

描述了夹层模板查找系统here. This post也可能有用