作为 Django newby,我正在努力在屏幕上显示图像。在阅读了大量的问题和类似问题的答案之后,我只是更加困惑,因为看起来我编码了必要的,但是当我点击管理页面中的图像链接或试图在模板。虽然两者看起来相关,但我会坚持使用管理站点。
这就是我在管理站点中看到的内容:
对我来说,从我所看到/阅读的内容来看,它看起来是正确的。
但是当我点击链接时出现 404 错误:
尽管媒体 URL 似乎有效,因为 images/Presentation_....jpg 现在以 http://.../media/ 为前缀
图片在以下目录:
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