使用 django 1.5
我得到了这样配置的静态文件:
STATIC_ROOT = '/home/<user>/Projects/<name>/static'
STATIC_URL = '/static/'
我只是运行 manage.py collectstatic
目录清单:
static/css
static/css/bootstrap.css
static/css/addressbook.css
static/css/bootstrap-responsive.css
static/css/rewrite.css
static/css/login.css
当我输入 localhost:8000/static/css/addressbook.css 我得到 404
但:
本地主机:8000/static/css/bootstrap.css
给了我一个合适的 CSS 内容
怎么回事?它们在同一个文件夹中并且具有相同的用户/权限/组
menage.py runserver 输出的一部分:
[24/Jul/2013 12:18:19] "GET /static/css/addressbook.css HTTP/1.1" 404 1663
[24/Jul/2013 12:19:16] "GET /static/css/login.css HTTP/1.1" 200 533
[24/Jul/2013 12:20:12] "GET /static/css/addressbook.css HTTP/1.1" 404 1663
[24/Jul/2013 12:32:51] "GET /static/css/bootstrap.css HTTP/1.1" 304 0
更新:
它不是从“项目/静态”提供文件,而是从应用程序文件夹下的静态文件夹提供文件,我通过删除一个应用程序下的静态文件夹来解决这个问题 - 文件开始给出 404。如果我禁用 AppDirectoriesFinder 也是如此。但它仍然不一致,一些应用程序即使从应用程序文件夹下的“静态”也不提供文件。
我的理想情况是:AppDirectoriesFinder 被注释掉并且所有文件都来自myProject/static/