找不到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静态文件的主要内容,如果未能解决你的问题,请参考以下文章