-1

出于某种原因,我的 html 页面没有找到我的样式表。如果有帮助的话,我正在使用 Django 框架。我目前正在本地主机上运行它。

html:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>

 <link rel="stylesheet" href="../fitness/templates/masterpage.css"  type="text/css">

</head>
<body>
<h1> MasterPage</h1>



{% block content %} {% endblock %} 
</body>
</html>

母版页.css

h1 {
color: #fff;

}

多谢你们。

4

3 回答 3

1

对于提供静态文件,如 CSS,django 有 staticfiles 库:

https://docs.djangoproject.com/en/dev/howto/static-files/ - 开发版本 https://docs.djangoproject.com/en/1.4/howto/static-files/ - Django 1.4
https:// docs.djangoproject.com/en/1.3/howto/static-files/ - Django 1.3

请注意,这需要最新版本的 Django,因为它是最近添加的

我的猜测是 CSS 的 URL 与 urls.py 中的任何模式都不匹配,因此返回错误

于 2012-06-16T22:44:02.177 回答
0

根据 css 链接,您的路径可能是:

[同根]/fitness/templates

[same root]/[maybe else?]/current(具有显示 html 的那个)

看到您对克里斯的评论(回答),我建议您将 css 链接更改为:

/fitness/templates/masterpage.css

并确保你在对应的物理路径下有masterpage.css

于 2012-06-16T22:57:10.260 回答
0

此处的简短答案:在您的 settings.py 中,确保为 STATIC_DIRS 设置了一个文件夹,即 STATIC_URL(通常只是“/static/”)。设置 myproject/static/ 的 STATIC_ROOT 设置。将此文件夹留空。在 STATIC_DIRS 下添加一个文件夹,命名为 myprojet/assets/。然后在 assets/ 中有 css、img 和 js。现在,您可以通过此位置访问这些组织文件夹中的所有资产,无论其位于哪个文件夹。 {{ STATIC_URL }}/main.css {{ STATIC_URL }}/banner.png 作为最后的手段,运行 python manage.py collectstatic at你的 shell,并确保在你的 settings.py 中你有取消注释 Django 的静态文件处理程序。(默认情况下它们是未注释的。)

Django 最佳实践长答案继续阅读(以我有限的经验)。

由于他们引入了 STATIC_DIRS { } 设置,我一直将 myproject/static/ 目录留空。(在部署期间,有必要在您的服务器上运行 python manage.py collectstatic 命令以收集站点包中的所有管理文件以及您的静态服务器将提供的其他内容。因此,将其留空,以免发生混乱稍后在那里。为您的“资产”使用不同的文件夹。)

我有一个名为 src 的目录,许多人在项目级别也将其称为媒体。带有 manage.py 的 Django 1.4 项目级别而不是您的 settings.py。我将 myproject/src/ 添加到 STATIC_DIRS 设置中。它是一个应该包含字符串的元组。在 src/ 目录中,我有 js、img、css。您可能决定创建的所有 STATIC_DIRS 最酷的事情是它们都可以通过以下方式访问

<link rel="stylesheet" type="text/css" href="{{ STATIC_URL }}/main.css" />

注意:即使您的 css 文件目录结构可能是多个嵌套文件夹,或者在本例中为 myproject/src/css/main.css ,您也可以这样做。Django 不关心你的目录结构。一般来说,Django 与其元素的耦合非常松散。例如,很容易插入您选择的另一种 Pythonic 模板语言。就像设置 STATIC_URL 和 STATIC_DIRS 很容易一样,Django 知道在哪里查找,它从 /static/ 为它们提供服务。

于 2012-06-17T05:44:40.203 回答