我在 Django 1.6 中遇到了一个问题:
我想更改 django 中的默认静态文件目录。我不想让它进来project/myapp/static
but in project/static
我阅读了 django 的文档,添加了
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR,'static')
STATICFILES_DIR =(os.path.join(BASE_DIR, 'static'),)
在我的settings.py中
然后我跑了./manage.py collectstatic
并按预期复制文件。
最后我启动了服务器,该应用程序使用 django 样板插件,所以我的模板以:
{% extends 'dh5bp/base.html' %}
{% load url from future %}
{% load staticfiles %}
{% block head %}
<link rel="stylesheet" href="{% static "css/homepage.css" %}">
{% endblock %}
并且 CSS 不会加载:但是在我的服务器日志中,我得到了:
[29/Aug/2014 11:23:03] "GET /static/js/dh5bp/plugins.js HTTP/1.1" 304 0
[29/Aug/2014 11:23:03] "GET /static/css/homepage.css HTTP/1.1" 404 1657
正如您所看到的,dh5bp(样板插件)中的静态文件已正确加载,而我的应用程序中的静态文件未正确加载。
我尝试添加+ static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
到我的 urls.py,就在 urlpatterns 之后,它不起作用。
因此,如果有人可以告诉我聊天我做得不好以及我应该在设置中更改哪些内容。这可能很棒
EDIT:
是否尝试过解决方案here https://stackoverflow.com/questions/22976596/handling-static-files-that-dont-pertain-to-an-app-in-django,它给了我相同的结果:仅加载样板中的静态数据。
更不用说我显然已经检查了 /project/static 中是否存在这些文件,它们确实存在。
EDIT 2:
我尝试将旧的静态文件夹放入我的应用程序中,以确保他没有在旧文件夹中查找文件。它没有,所以我不知道 django 期望这些文件在哪里?是否有调试设置可以帮助解决这个问题?