所以。这是我的第一个Django项目。我正在使用Django Admin模板添加/编辑/删除内容。
我添加了将图像添加到特定部分的选项。这是模型
class Project(models.Model):
title = models.CharField(max_length = 100)
description = models.TextField()
technology = models.CharField(max_length = 20)
image = models.ImageField(upload_to = "projects/images/")
它有效。它会在 project 目录中创建 images 目录,该目录位于根目录中。
当我在模板中加载图像时,我用
加载图像<img src="/{{project.image.url}}" alt="" class="card-img-top">
然后在HTML中创建 元素
<img src="/projects/images/106780.jpg" alt="" class="card-img-top">
但是在客栈控制台上,它说找不到图片
http://127.0.0.1:8000/projects/images/106780.jpg
我的目录具有此层次结构
portfolio
|
|__ blog
|__ projects
|__ __pycache__
|__ images
|__ migrations
|__ templates
|__ ...
|__ venv
|__ db.sqlite3
|__ manage.py
答案 0 :(得分:0)
此处您使用的是静态路径作为图片
<img src="/{{project.image.url}}" alt="" class="card-img-top">
<img src="/projects/images/106780.jpg" alt="" class="card-img-top">
您需要使用动态路径,以便服务器可以理解图像的完整路径。
<img src="{% get_media_prefix %}{{project.image.url}}" alt="" class="card-img-top">
希望这可以解决您的问题。 有关更多信息,请访问官方文档Django version 2.2 - media path