繁体   English   中英

django在寻找静态文件时,我不断收到404错误

[英]I keep getting a 404 error when django is looking for static files

当django在寻找静态文件时,我不断收到404错误。

settings.py

STATIC_ROOT = os.path.join(BASE_DIR, 'business', 'static_cdn')
STATIC_URL = '/static_cdn/'

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

应用程序的项目树结构

- business
-- migrations
--- ....
-- static_cdn
--- business
---- main.css
---- scripts.js
-- templates
--- business
---- base.html
---- home.html
-- templatetags
--- ...
-- __init__.py
-- admin.py
-- apps.py
-- models.py
-- tests.py
-- urls.py
-- views.py

错误

[29/Jul/2019 13:09:45] "GET / HTTP/1.1" 200 12670
[29/Jul/2019 13:09:45] "GET /static_cdn/business/main.css HTTP/1.1" 404 77
[29/Jul/2019 13:09:45] "GET /static_cdn/business/scripts.js HTTP/1.1" 404 77

我还链接到{% static 'business/main.css' %}类的静态文件,并且在文档顶部确实有{% load static %}

django为什么无法找到静态文件? 该错误表明它正在寻找正确的位置,但返回404错误。

如果您还有其他需要,可以看一下我的代码

注意:我认为django无法读取此文件,但我不知道为什么... Collectstatic将所有static_cdn/放入相同应用程序目录中的static/中。

在代码中,您已经定义了BASE_DIR,如下所示

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

这意味着当您的static_cdn文件夹位于企业文件夹下时,它指向根文件夹

在下面定义时,您将必须将业务文件夹中的路径更新为STATIC_ROOTSTATICFILES_DIRS

STATIC_ROOT = os.path.join(os.path.dirname(BASE_DIR), 'static_cdn')
STATIC_URL = '/static_cdn/'

STATICFILES_DIRS = [
    os.path.join(BASE_DIR, 'static_cdn'),
]

如下

STATIC_ROOT = os.path.join(BASE_DIR, 'business', 'static')
STATIC_URL = '/static_cdn/'

STATICFILES_DIRS = [
    os.path.join(BASE_DIR, 'business', 'static_cdn'),
]

您可能已将DEBUG设置为False。 当且仅当您处于开发环境中时,才将DEBUG设置为True。 如果您要进行生产计划,请首先进行静电收集,然后在settings.py中进行适当的更改,然后将DEBUG设置回False。 请参阅Django文档和您的生产服务器文档。 同样不要忘记重启服务器。 最好的祝愿。

将您的静态文件夹重命名为static_cdn并更新settings.py

settings.py

STATIC_ROOT = os.path.join(os.path.dirname(BASE_DIR), 'static_cdn')
STATIC_URL = '/static_cdn/'

STATICFILES_DIRS = [
    os.path.join(BASE_DIR, 'static_cdn'),
]

即这种结构:

应用程序的项目树结构

- business
-- migrations
--- ....
-- static_cdn
--- business
---- main.css
---- scripts.js
-- templates
--- business
---- base.html
---- home.html
-- templatetags
--- ...
-- __init__.py
-- admin.py
-- apps.py
-- models.py
-- tests.py
-- urls.py
-- views.py

暂无
暂无

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

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