Django对静态文件的处理仍然有些混乱,特别是在相关设置的命名方面。
简短的答案是移动您的静态文件。代替
/home/wayne/programming/somesite/static
把它们放进去
/home/wayne/programming/somesite/yourapp/static
(其中“ yourapp”显然是您的主应用程序的名称)。
更长的答案是,我认为您对各种设置感到困惑(可以理解)。STATIC_ROOT
仅 是指位置 运行后manage.py collectstatic
。collectstatic
在本地开发时,您不需要此集合(因为您实际上不需要)。无论哪种方式,STATIC_ROOT
都应始终引用一个空目录。
您的STATICFILES_DIRS
设置几乎可以用,只是您已经告诉Django有两条路径可以找到静态文件
/home/wayne/programming/somesite/static/styles
/home/wayne/programming/somesite/static/admin
所以当你做的{% static "styles/main.css" %}
时候会寻找
/home/wayne/programming/somesite/static/styles/styles/main.css
/home/wayne/programming/somesite/static/admin/styles/main.css
并且显然不会找到它们。是什么 力量 工作
STATICFILES_DIRS = ('/home/wayne/programming/somesite/static',)
但不需要这样做,因为您可以依靠django.contrib.staticfiles.finders.AppDirectoriesFinder
(在默认的STATICFILES_FINDERS中)并将静态文件移动到应用程序目录中。
希望这能使事情顺利一些。