夹层静态文件无法从STATIC_ROOT提供

时间:2018-02-04 22:39:36

标签: django django-staticfiles mezzanine

我是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覆盖它们。

2 个答案:

答案 0 :(得分:1)

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

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

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

夹层模板查找系统的描述为here。这个post也可能有用

答案 1 :(得分:0)

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