找不到django静态文件

Posted

技术标签:

【中文标题】找不到django静态文件【英文标题】:django static files cannot be found 【发布时间】:2014-11-10 02:35:09 【问题描述】:

在我的设置文件中,我有以下内容

STATIC_URL = '/static/'

我的应用名称是 reg_service

所以我的目录结构就像reg_service/reg_service/settings.py

我在reg_service/static/js 中有静态目录 reg_service/manage.py reg_service/reg_service reg_service/templates

但是在我的模板中,如果我包含以下脚本,结果是 "GET /static/js/jquery.min.js HTTP/1.1" 404 1652 这里有什么问题

    <script src=" STATIC_URL js/jquery.min.js"></script>

【问题讨论】:

您应该使用 load static static 'js/jquery.min.js' 。我不认为STATIC_URL 打算直接使用。 当我执行上述错误时,无法解析剩余部分:'static' from 'load static' 其实是 % load staticfiles % 我尝试了 % load static % % static 'js/jquery.min.js' % 和 % load static % static 'js/jquery.min.js ' 还是一样的 @mxlian:对。 % 不是 。从记忆中走出来,刚刚醒来。 【参考方案1】:

django 的理念是您应该直接通过您的网络服务器提供静态文件。

出于开发目的,您可以“欺骗”django 自己提供静态文件:

urls.py:

from django.conf import settings
from django.conf.urls.static import static

urlpatterns = [
    # ... the rest of your URLconf goes here ...
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)

Django 将找到您的静态文件,并在 STATIC_URL 下定义的 url 下提供它们。

这不是很好,也不是很安全,但可以用于开发。对于生产,您应该配置您的 Web 服务器(Apache、nginx 等)以直接在 STATIC_URL 中定义的 url 下提供文件。

欲了解更多信息,请参阅:https://docs.djangoproject.com/en/dev/howto/static-files/#serving-static-files-during-development

【讨论】:

以上是关于找不到django静态文件的主要内容,如果未能解决你的问题,请参考以下文章

Django 找不到静态(css)文件夹

找不到静态文件 - 在 Heroku 上部署 Django

通过 django 提供静态文件时找不到页面

在 Django 视图中找不到静态文件

在 Heroku 上找不到 Django 静态文件(带白噪声)

在 django 1.9 中找不到我的静态文件