使用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内容
WTF?它们在同一文件夹中,并且具有相同的用户/权限/组
来自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
更新:
它提供的文件不是来自“ project / static”,而是来自应用程序文件夹下的静态文件夹。我认为通过删除一个应用程序下的静态代码可以解决这一问题-文件开始提供404。如果我禁用AppDirectoriesFinder,则效果相同。但是它仍然不一致,某些应用程序甚至不从应用程序文件夹下的“静态”提供文件。
我的理想情况是:AppDirectoriesFinder被注释掉,所有文件从 myProject/static/
我有同样的问题。这是我的解决方案:
将此添加到您的settings.py
STATICFILES_FINDERS = (
"django.contrib.staticfiles.finders.FileSystemFinder",
#"django.contrib.staticfiles.finders.AppDirectoriesFinder"
)
STATICFILES_DIRS = (
os.path.join(BASE_DIR, 'static'),
)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句