找不到通过 django admin 上传的图片,尽管 URL 似乎是正确的

问题描述 投票:0回答:0

作为 Django newby,我正在努力在屏幕上显示图像。在阅读了大量的问题和类似问题的答案之后,我只是更加困惑,因为看起来我编码了必要的,但是当我点击管理页面中的图像链接或试图在模板。虽然两者看起来相关,但我会坚持使用管理站点。

这就是我在管理站点中看到的内容:

Image in admin site

对我来说,从我所看到/阅读的内容来看,它看起来是正确的。

但是当我点击链接时出现 404 错误:

Error message when clicking image link

尽管媒体 URL 似乎有效,因为 images/Presentation_....jpg 现在以 http://.../media/ 为前缀

图片在以下目录:

directory

C:\Users\Admin\PycharmProjects\website_andalucia 是我的 BASE_DIR(当我从 settings.py 打印它时)

必要的代码如下所示:

设置.py

STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
# Base url to serve media files
MEDIA_URL = '/media/'
# Path where media is stored
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
print("base dir:", BASE_DIR)
print("media root:", MEDIA_ROOT)

Models.py(见remark_image)

class remark(models.Model):
# Fields
activity = models.ForeignKey(activity, on_delete=models.CASCADE, null=True)
remark_date = models.DateField(default=date.today)
remark_desc = models.TextField(help_text='Enter your remark(s) here')
remark_image = models.ImageField(upload_to='images/', null=True, blank=True)
user = models.ForeignKey(User, on_delete=models.SET_NULL, null=True, blank=True)

我在 url.py 中添加:

if settings.DEBUG:
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

为什么我收到 404 错误消息而不是图像?

PS 我在 Windows 10 上,使用 PyCharm、Python 3.11.0 和带有 Django 4.1.5 的 venv

python django image admin media
© www.soinside.com 2019 - 2024. All rights reserved.