Django无法加载静态文件

时间:2014-05-22 22:07:40

标签: python css django twitter-bootstrap

我在Django有一个网页,现在我想添加一些CSS(twitter bootstrap)。这是我第一次尝试。我仔细阅读了docs,并为django开发服务器做了一切工作。我使用的开发服务器与debug = True和django版本1.6.5。我的settings.py看起来像这样:

STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, "static")
INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
 )

我的文件位于/mysite/static/bootstrap/css文件夹下,在我的template.html中,我有:

{% load staticfiles %}
<link href="{% static "boostrap/css/bootstrap.css" %}" rel="stylesheet" media="screen">

不幸的是,没有任何反应,我看到开发服务器说:

 "GET /static/boostrap/css/bootstrap.css HTTP/1.1" 500 59

这意味着找不到它们。我甚至尝试在没有STATIC_ROOT的情况下进行设置,这样做:

STATICFILES_DIRS = (
    os.path.join(BASE_DIR, "static"),
    '/static/',
)

但随后开发服务器返回:

"GET /static/boostrap/css/bootstrap.css HTTP/1.1" 404 1682

任何帮助表示感谢。

3 个答案:

答案 0 :(得分:3)

你做的一切都正确,这里的问题是一个简单的错字。

您的静态文件位于boo t 表带

但是,在你的html中,你写道:{%static&#34; boostrap /css/bootstrap.css" %}

T 缺失。

以下代码可以使用:

{% load staticfiles %}
<link href="{% static "bootstrap/css/bootstrap.css" %}" rel="stylesheet" media="screen">

答案 1 :(得分:-1)

我多次发现这个问题,每次问题都通过将URL添加到STATIC_URL来解决,即

STATIC_URL = 'http://localhost:8000/static/'

答案 2 :(得分:-1)

您必须将STATIC文件加载到项目应用程序文件夹中。

---&GT;如果您的项目名称为myblog。您会在myblog中找到另一个名为myblog的文件夹,您必须将static文件夹放在那里。

---&GT;在setting.py中,您必须添加:

  STATICFILES_DIRS = ( os.path.join(BASE_DIR, 'myblog/static'), )

在生产模式下,如果收集静态,静态文件将被复制到root static。