在Mezzanine中找不到静态文件



我正试图在我的Mezzanine网站上安装一个新模板。我的Mezzanine版本是4.2.2,Django版本是1.9.7

DEBUG = true

我创建了一个名为"template_app"的新应用程序,并加载到settings.py:

INSTALLED_APPS = (
"template_app",
...
)

我创建了目录结构,并复制了默认的夹层文件(基本、索引…),如:

template_app
static
css
img
js
templates
base.html
index.html
includes
footer_scripts.html

我下载了一个引导模板,并用模板中的css js img文件夹和index.html替换了上面的内容。(我使用的模板:https://startbootstrap.com/template-overviews/business-casual/)然后链接base.html中的css和javascript:

(所有css)

{% compress css %}
<link rel="stylesheet" href="{% static "css/bootstrap.css" %}">
<link rel="stylesheet" href="{% static "css/bootstrap.min.css" %}">
<link rel="stylesheet" href="{% static "css/business-casual.css" %}">
<link rel="stylesheet" href="{% static "css/mezzanine.css" %}">
<link rel="stylesheet" href="{% static "css/bootstrap-theme.css" %}">

(全部js)

{% compress js %}
<script src="{% static "mezzanine/js/"|add:settings.JQUERY_FILENAME %}"></script>
<script src="{% static "js/bootstrap.js" %}"></script>
<script src="{% static "js/bootstrap.min.js" %}"></script>
<script src="{% static "js/jquery.js" %}"></script>
<script src="{% static "js/bootstrap-extras.js" %}"></script>

我不知道我做错了什么,也不知道我错过了什么。我的网站在应用程序中找不到css和javascript文件:

Not Found: /css/bootstrap.min.css/
Not Found: /css/business-casual.css/
[07/Jan/2017 08:12:30] "GET /css/bootstrap.min.css/ HTTP/1.1" 404 1716
[07/Jan/2017 08:12:30] "GET /css/business-casual.css/ HTTP/1.1" 404 1720
Not Found: /js/jquery.js/
...

我试着根据其他人的解决方案修改urls.py和setting.py的其他部分,但它们似乎不起作用。我做错了什么?

--添加2017-01-09-

与findstatic的检查将我链接到了正确的路径。除了bootstrap.css,它链接了我下载的模板中的css文件和夹层模板。

我对静态文件也有同样的问题,但它确实需要我设置"static_ROOT"设置,因为我的路径偏离了路线。

由于我使用的是自定义主题,我不得不更改settings.py中的"STATIC_ROOT"路径,以指向我的应用程序静态文件,而不是指向默认的PROJECT_ROOT。

所以我添加了这样的内容。。。

## Custom Theme Path (For Static Files)
THEME_URL = "template_app/"

并将"STATIC_ROOT"更改为…

STATIC_URL = "/static/"
STATIC_ROOT = os.path.join(PROJECT_ROOT, THEME_URL, STATIC_URL.strip("/"))

确保再次重新启动测试服务器(如果需要,请手动),自动启动不会识别对静态/目录的更改。

我在谷歌上发现了这个问题,当时我正在为同样的问题寻找解决方案。我设法解决了以下步骤:

  • 首先,仔细检查template_app是否列在所有Mezzanine应用程序之上的INSTALLED_APPS
  • 重新运行findstatic
  • 如果仍然找不到,请运行collectstatic。虽然findstatic找不到我想要的主题(但会找到其他主题),但collectstatic设法找到了它并链接了它的静态文件

相关内容

  • 没有找到相关文章

最新更新