当包含MEDIA_ROOT设置时, Django Admin Page找不到



这是我的第一个问题,如果我错过了重要的东西,请为我指出正确的方向☺️

所以我的问题是:我目前正在创建一个网站与Django,这是应该从数据库中列出各种项目。每个项目都有一个与之相关的图片。该图片的路径保存在数据库中(每个图片都作为models.ImageField()添加到项目模型中)。为了服务它们,我将MEDIA_ROOT = os.path.join(BASE_DIR, 'main/media')添加到settings.py中,并将以下代码片段添加到urls.py中的urlpatterns中:+ static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

现在到了关键:一切都很好,除了我现在不能打开我的管理面板。媒体文件在项目概述中按预期提供,但是当我试图打开/admin页面时,我得到以下错误消息:

Page not found (404)
“/Users/.../main/media/admin” does not exist
Request Method: GET
Request URL:    http://127.0.0.1:8000/admin/
Raised by:  django.views.static.serve

一旦我从我的url模式中删除+ static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT),管理页面再次工作正常,但是媒体文件不再提供。

谁能给我看看我弄坏了什么?非常感谢!

我也遇到了同样的问题。我在我的网站上有一个链接,当我按下它时,它把我带到管理面板。

错误在于我缺少了一个尾斜杠。

这行不通:

<a href="/admin">Admin</a>

这工作:

<a href="/admin/">Admin</a>

您可能没有在setting.py中添加MEDIA_URL路径。在您的情况下:-将此添加到settings.py:- MEDIA_URL = "/main/media/"如果不行,试着去掉两个斜杠中的一个。希望它能起作用。

最新更新