无法提供Django静态文件

时间:2017-11-29 20:44:28

标签: python django

我使用runserver提供静态文件很困难。我已经包含了以下配置,有人可以帮忙吗?

STATIC_URL = '/static/'

STATICFILES_DIR = (
    os.path.join(BASE_DIR, 'static'),
)

STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')

以下是我的base.html文件的顶部:

<!DOCTYPE html>
{% load static %}
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
<link rel="stylesheet" type="text/css" href="{% static 'css/style.css' %}">
<link href='https://fonts.googleapis.com/css?family=Satisfy' rel='stylesheet' type='text/css'>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
<script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>

到目前为止我做了什么:

我已经发布了&#39; python manage.py collectstatic&#39;命令,只有&#39; admin&#39;静态文件放在/ staticfiles目录中。当运行命令&#39; python manage.py findstatic css / style.css --verbosity 3&#39;我得到以下结果:

  

C:\ Users \ john.doe \ Desktop \ sysnet&gt; python manage.py findstatic   css / style.css --verbosity 3找不到匹配的文件   &#39; CSS / style.css中&#39;

     

查看以下位置:
  C:\ Python27 \ lib中\站点包\ django的\的contrib \管理员\静态

     

C:\用户\ john.doe \桌面\ SYSNET&GT;

为什么要搜索Python27 \ lib \ site-packages \ django \ contrib \ admin \ static?我猜这是为什么collectstatic命令没有将/ static中的文件放在/ staticfiles中?

我已经包含了下面的目录结构(减去文件),有人可以帮忙吗?

sysnet
├───.idea
├───chef
│   ├───migrations
│   └───templates
├───static
│   ├───css
│   ├───img
│   └───js
├───staticfiles
│   └───admin
│       ├───css
│       ├───fonts
│       ├───img
│       │   └───gis
│       └───js
│           ├───admin
│           └───vendor
│               ├───jquery
│               └───xregexp
└───sysnet

我的style.css在/ static / css中,它应该可以工作。控制台输出始终显示404未找到。

[29/Nov/2017 14:42:34] "GET / HTTP/1.1" 200 3588
[29/Nov/2017 14:42:34] "GET /static/css/style.css HTTP/1.1" 404 1652

我应该注意除静态文件外一切正常。

2 个答案:

答案 0 :(得分:0)

设置名称为STATICFILES_DIRS(复数)。

答案 1 :(得分:0)

你的 STATICFILES_DIR 是一个元组,它应该是一个列表。你把它括在括号中,而它应该是这样的:

STATICFILES_DIR = [os.path.join(BASE_DIR, 'static'),]