【发布时间】:2016-07-12 12:42:50
【问题描述】:
我在我的应用程序中使用模板。我在 base.html 中设置了网站的主要部分,这些文件始终是相同的(页眉、菜单、页脚......),在“base.html”中正确编码以及链接到它的样式(在链接中 rel="stylesheet")。
当我尝试按原样使用基本模板时,它运行良好,同时它允许我在 de {% block content %} 之间添加内容并显示“永久”部分(菜单、标题等) ,但上面没有样式(CSS)。我怎样才能扩展到这些样式表来加载 CSS 样式??
我们将不胜感激,谢谢。
编辑 2:这是我的 base.html 头内容:
<head>
<meta charset="utf-8">
{% load staticfiles %}
<title>{% block title %}Index{% endblock %}</title>
{% block style_base %}
<link href="{% static 'css/styles.css' %}" rel="stylesheet">
{% endblock %}
<meta name="description" content="{% block description %}{% endblock %}">
<link href='https://fonts.googleapis.com/css?family=Roboto+Mono:400,700,300' rel='stylesheet' type='text/css'>
<script src="static/myapp/jquery.min.js" type="text/javascript"></script>
<script src="static/myapp/main.js" type="text/javascript"></script>
</head>
这适用于 base.html,它获得了正确的样式。但是,当尝试使用另一个模板在公共部分中获取相同的样式时,它不会获取样式。模板代码是这样开始的:
{% extends "base.html" %}
{% load staticfiles %}
{% load i18n %}
{% include "base.html" %}
{% block title %}{% trans "Main index" %}{% endblock %}
{% block content1 %}
它从 base.html 获取所有正确的 HTML,但没有样式。我也尝试删除“包含”标签或更改其位置,但没有结果。有什么问题?谢谢。
另外,控制台告诉我:
Not Found: /list/static/myapp/styles.css
[25/Mar/2016 01:03:03] "GET /list/static/myapp/styles.css HTTP/1.1" 404 3414
当我刷新页面(列表是我想从基础获取样式的模板的页面)时,它一直告诉我这一点。 List 不是我项目中的目录,但是 /static/myapp/styles.css 路径是正确的。会发生什么?
【问题讨论】:
-
你能显示你的基本模板吗?
-
我已经编辑了帖子。谢谢
-
您可以查看静态文件的 url。虽然 'localhost/static/css' 有效。 'localhost/something/static/css' 不会。
-
我不知道我是否正确理解了您的答案,但我已经更改并为 css 文件创建了一个名为“css”的目录,并更改了 base.html 中的 URL。它运行良好,但另一个模板(扩展 base.html)仍然没有获得样式。谢谢