我试图在django项目中找到所有引导文件只在一个文件夹中并引用它们.为了做到这一点,我已经将这些行添加到setting.py:
STATIC_URL = '/static/' STATIC_ROOT = os.path.join(BASE_DIR, 'static')
我的base.html看起来像这样:
{% load static %}Muplay {% include 'snippets/nav.html' %}{% block content %}{% endblock %}
当我将此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
.这在部署期间使用.
在此处查找详细文档.