繁体   English   中英

Django静态文件404错误

[英]Django static files 404 error

我试图在django项目中找到所有引导文件只在一个文件夹中并引用它们。 为了做到这一点,我已经将这些行添加到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返回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会在浏览器中成功加载这些静态文件时返回404代码?

删除STATIC_ROOT添加STATICFILES_DIRS的设置文件。(在开发过程中推荐)

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

STATICFILES_DIRS:

此设置定义了在启用FileSystemFinder查找程序时staticfiles应用程序将遍历的其他位置,例如,如果您使用collectstatic或findstatic管理命令或使用静态文件服务视图。

应将其设置为包含附加文件目录的完整路径的字符串列表

STATIC_ROOT:

collectstatic将收集静态文件以进行部署的目录的绝对路径。

如果要使用STATIC_ROOT ,则运行命令python manage.py collectstatic ,它将收集所有静态文件到STATIC_ROOT提到的静态目录。 这在部署期间使用。

此处查找详细文档。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM