我正在尝试在Mezzanine网站上安装新模板。我的Mezzanine版本为4.2.2,Django版本为1.9.7。这是我做的:
用
DEBUG = true
我创建了一个新的应用调用“template_app”,并在settings.py中加载:
INSTALLED_APPS = (
"template_app",
...
)
我创建了目录结构,并复制了默认的夹层文件(base,index ...),如:
template_app
static
css
img
js
templates
base.html
index.html
includes
footer_scripts.html
我下载了一个bootstrap模板,并将上面的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文件和夹层模板。
答案 0 :(得分:1)
我对静态文件有同样的问题,但它确实要求我设置“STATIC_ROOT”设置,因为我的路径偏离了路线。
由于我使用的是自定义主题,因此我必须将settings.py中的“STATIC_ROOT”路径更改为指向我的app静态文件,而不是指向默认的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("/"))
答案 1 :(得分:0)
确保再次重新启动测试服务器(如果需要,手动重启),自动重启不会识别静态/目录的更改。
答案 2 :(得分:-2)
我在寻找同一问题的解决方案时在Google上发现了这个问题。我设法解决了这些步骤:
template_app
列在所有夹层应用上的INSTALLED_APPS
;