我使用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
我应该注意除静态文件外一切正常。
答案 0 :(得分:0)
设置名称为STATICFILES_DIRS
(复数)。
答案 1 :(得分:0)
你的 STATICFILES_DIR 是一个元组,它应该是一个列表。你把它括在括号中,而它应该是这样的:
STATICFILES_DIR = [os.path.join(BASE_DIR, 'static'),]