Python 如何让Django在模板中显示来自模型的图像字段?

Python 如何让Django在模板中显示来自模型的图像字段?,python,html,django,Python,Html,Django,我试图得到上传的图像显示在项目模板。以下是我的代码当前的样子: projects.html {% extends "base.html" %} {% block content %} <h1>{{ project.title }} HELLO</h1> <div class="content-section"> <div class="media"> <

我试图得到上传的图像显示在项目模板。以下是我的代码当前的样子:

projects.html

    {% extends "base.html" %}
{% block content %}
<h1>{{ project.title }} HELLO</h1>
<div class="content-section">
    <div class="media">
        <img src="{{ project.image.url }}" alt="beach" width=250px height=250px />
    </div>
    <div>
        <h5>About the project:</h5>
        <p>{{ project.description }}</p>
        <br>
        <h5>Technology used:</h5>
        <p>{{ project.tools }}</p>
    </div>
</div>
{% endblock content %}
views.py

from django.shortcuts import render
from django.http import HttpResponse
from projects.models import Project

def projects(request):
    project = {
       'project':Project.objects.all()
    }

    return render(request, 'projects/projects.html', context = project)
settings.py配置(已安装应用程序)

当我检查网页中的图像元素时,源代码显示为

src=“”

对模型的其他调用也没有出现


任何帮助都将不胜感激。

请确保数据库中记录的图像字段已满


使用
python manage.py shell
命令访问所需的模型,并检查此模型是否具有
variable.image.url

的值。我想您忘了在模板中添加for循环。试试这个:

{% for p in project %}
    {{ p.title %}}
{% endfor %}

我可以问一下,我如何确定我是否需要for循环来显示信息,而不需要?我一直在学习的一些材料可以在没有for循环的情况下显示。感谢您的指导。是的,在您的视图中,您查询了所有项目:Project.objects.all(),因此您需要对它们进行循环以显示它们。如果您只想这样显示一个项目,您可以通过如下方式进行查询:project.objects.all().first(),以显示第一个项目,或project.objects.all.(.filter(pk=1)以基于pk显示项目。感谢您的评论。数据库被填满了。上述答复回答了这个问题D
STATIC_URL = 'static/'

MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
MEDIA_URL = '/media/'
{% for p in project %}
    {{ p.title %}}
{% endfor %}