Django静态文件404错误
Django static files 404 error
我试图在一个文件夹中找到 django 项目中的所有 bootstrap 文件并引用它们。为此,我将这些行添加到 setting.py:
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
我的 base.html 看起来像这样:
{% load static %}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Muplay</title>
<link rel="stylesheet" type="text/css" href="{% static'css/bootstrap.css' %}">
<script src="{% static 'js/bootstrap.js' %}"></script>
</head>
<body style="background-color: #F2F2F5">
{% include 'snippets/nav.html' %}
<div class="container">
{% block content %}{% endblock %}
</div>
</body>
</html>
当我将此 base.html 扩展到其他 html 文件时 css 并且 js 文件在浏览器中成功加载。但是,问题是,在终端中,django returns 404 错误如下:
[10/Dec/2017 14:03:27] "GET /static/js/bootstrap.js HTTP/1.1" 404 1759
[10/Dec/2017 14:03:27] "GET /static/css/bootstrap.css HTTP/1.1" 404 1765
为什么在浏览器中成功加载这些静态文件时,django returns 404 代码?
删除 STATIC_ROOT
将 STATICFILES_DIRS
添加到设置文件。(开发期间推荐)
STATICFILES_DIRS = (
os.path.join(BASE_DIR, 'static'),
)
STATICFILES_DIRS :
如果启用了 FileSystemFinder 查找器,此设置定义了静态文件应用程序将遍历的其他位置,例如如果您使用 collectstatic 或 findstatic 管理命令或使用静态文件服务视图。
这应该设置为包含附加文件目录完整路径的字符串列表
STATIC_ROOT :
collectstatic
收集用于部署的静态文件的目录的绝对路径。
如果您想使用 STATIC_ROOT
,那么 运行 命令 python manage.py collectstatic
会将所有静态文件收集到 STATIC_ROOT
中提到的静态目录中。这在部署期间使用。
查找详细文档 here。
我试图在一个文件夹中找到 django 项目中的所有 bootstrap 文件并引用它们。为此,我将这些行添加到 setting.py:
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
我的 base.html 看起来像这样:
{% load static %}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Muplay</title>
<link rel="stylesheet" type="text/css" href="{% static'css/bootstrap.css' %}">
<script src="{% static 'js/bootstrap.js' %}"></script>
</head>
<body style="background-color: #F2F2F5">
{% include 'snippets/nav.html' %}
<div class="container">
{% block content %}{% endblock %}
</div>
</body>
</html>
当我将此 base.html 扩展到其他 html 文件时 css 并且 js 文件在浏览器中成功加载。但是,问题是,在终端中,django returns 404 错误如下:
[10/Dec/2017 14:03:27] "GET /static/js/bootstrap.js HTTP/1.1" 404 1759
[10/Dec/2017 14:03:27] "GET /static/css/bootstrap.css HTTP/1.1" 404 1765
为什么在浏览器中成功加载这些静态文件时,django returns 404 代码?
删除 STATIC_ROOT
将 STATICFILES_DIRS
添加到设置文件。(开发期间推荐)
STATICFILES_DIRS = (
os.path.join(BASE_DIR, 'static'),
)
STATICFILES_DIRS :
如果启用了 FileSystemFinder 查找器,此设置定义了静态文件应用程序将遍历的其他位置,例如如果您使用 collectstatic 或 findstatic 管理命令或使用静态文件服务视图。
这应该设置为包含附加文件目录完整路径的字符串列表
STATIC_ROOT :
collectstatic
收集用于部署的静态文件的目录的绝对路径。
如果您想使用 STATIC_ROOT
,那么 运行 命令 python manage.py collectstatic
会将所有静态文件收集到 STATIC_ROOT
中提到的静态目录中。这在部署期间使用。
查找详细文档 here。