提供静态文件错误“此处不允许使用目录索引”

时间:2012-07-29 02:42:29

标签: django

我遇到了障碍,Django文档和previous stack overflow questions没有帮助。我已阅读static files section in the docs,我似乎正在使用django.contrib.staticfiles做正确的事。

所以我试图显示我的静态文件,我有点困惑于我做错了什么。当我转到我的localhost:8000/static/网站时,我收到404错误,其中“此处不允许使用目录索引”。信息。我设置了STATIC_URL' = '/static/',我的文件位于我的newsletter应用程序中,该文件位于INSTALLED_APPS设置下,我有一个静态目录。我甚至尝试将完整路径放在STATICFILES_DIR设置中,但这不起作用。

我见过有人试图修改STATIC_ROOT设置,但如果我错了,请纠正我,我认为这是开发服务器上的不好做法。任何线索?谢谢。

3 个答案:

答案 0 :(得分:4)

它说它不会生成包含该目录中文件列表的HTML文档(它将其称为“目录索引”)。您仍然可以直接访问这些文件。尝试加载特定文件,而不是仅将裸目录名称放入浏览器。

答案 1 :(得分:2)

讨厌回答我自己的问题,但是一个比我更多django经验的伙伴指出了我正确的方向。我将静态文件夹移动到manage.py所在的外部目录中。已将我的STATIC_URL更改为/static,然后将urlpatterns += staticfiles_urlpatterns()添加到我的urls.py文件中。现在一切正常!

我仍然有点困惑,因为我认为1.4我可以在我的应用程序下添加静态目录并让它工作得很好......无论如何感谢所有的回复!

答案 2 :(得分:0)

根据你对Jim的回答的评论,看起来Django没有得到{{STATIC_URL}}的正确值。

查看您的代码,看起来就像您拥有的设置

STATIC_URL' = '/static/'

在STATIC_URL后面有一个单引号,那里不应该有一个。尝试

STATIC_URL = '/static/'

这能解决您的问题吗?