我正在调试Django应用程序中出现的这个奇怪的404错误。
Page not found (404)
Request Method: GET
Request URL: http://78.198.124.245/
Directory indexes are not allowed here.
You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard 404 page.
“此处不允许目录索引”是什么意思?什么是目录索引?
我在Google上搜索了一下,发现结果都是关于静态文件的。但是,我不认为我这样做了。这个错误是什么意思?
4条答案
按热度按时间ycl3bljg1#
检查settings.py文件中的STATIC_URL值。您希望该值为存储静态文件的子文件夹-通常为
STATIC_URL = '/static/'
。gmxoilav2#
答案取决于你使用的django版本。对于1.4+版本,只需设置STATIC_URL
对于1.3.x,与其说
STATIC_URL
设置为什么,不如说ADMIN_MEDIA_PREFIX
设置为什么。如果您将其设置为
/admin/
,那么django development server将尝试为contrib/admin/media/
文件夹中/admin/
下的所有内容提供静态文件这意味着
http://127.0.0.0:8000/admin/postz/post/473
将尝试在django/contrib/admin/media/postz/post/473
中查找静态内容,这就是404如果您尝试访问
http://127.0.0.0:8000/admin/
,那么这将是admin媒体目录中的index.html,但内部静态服务器不允许索引,因此它会抛出此错误。可接受的答案并不完全正确。设置
STATIC_URL
可能是一个副作用,但真实的的问题是ADMIN_MEDIA_PREFIX
是错误的。最佳设置为:
或
对于1.4,只需设置
STATIC_URL
,因为ADMIN_MEDIA_PREFIX
已弃用https://docs.djangoproject.com/en/dev/releases/1.4/#django-contrib-admin
tuwxkamq3#
我以前也遇到过同样的问题,我也在寻找答案,但没有找到任何有用的东西。然而,我的问题是我在应用程序的url文件中输入的路径名称与视图中的函数名称不匹配。
这里的'home-en'应该是'home_en'以匹配视图函数的名称。
gzjq41n44#
得到这个错误的原因是,也许试图Map我们的视图与自定义的网址,幸运的是一个目录名。所以在这种情况下,例如:我们将所有静态文件存储在名为Static的文件夹中,并尝试创建URL:path('static/',views.static_view).所以在这种情况下它不会工作.我们可以做的是,我们可以将自定义url更改为任何通用url,如'inex/',它将工作.