[英]Trouble Serving Django Static Files
我在使用 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>
到目前为止我做了什么:
我已经发出了 'python manage.py collectstatic' 命令,并且只有 'admin' 静态文件放在 /staticfiles 目录中。 运行命令“python manage.py findstatic css/style.css --verbosity 3”时,我得到以下结果:
C:\\Users\\john.doe\\Desktop\\sysnet>python manage.py findstatic css/style.css --verbosity 3 找不到与“css/style.css”匹配的文件。
在以下位置查看:
C:\\Python27\\lib\\site-packages\\django\\contrib\\admin\\staticC:\\Users\\john.doe\\Desktop\\sysnet>
为什么要搜索 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 not found。
[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
我应该注意到,除了静态文件之外,一切正常。
设置名称是STATICFILES_DIRS
(复数)。
您的 STATICFILES_DIR 是一个元组,它应该是一个列表。 你把它括在括号中,而它应该是这样的:
STATICFILES_DIR = [os.path.join(BASE_DIR, 'static'),]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.