我正在尝试在Django模板中显示我的图像。但是图像没有显示。有一个标题标签可以正常工作。我不知道我被困在哪里。我在这里进行搜索并获得了很多解决方案,但是这些都不能解决我的问题。
这是我的views.py:
from django.shortcuts import render
from .models import Post
from django.utils import timezone
# Create your views here.
def home(request):
posts = Post.objects.order_by('id')
return render(request, 'home.html')
这是我的urls.py:
from django.conf.urls import url, include
from django.contrib import admin
from django.conf import settings
from django.conf.urls.static import static
from Picture import views
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^$', views.home, name='home')
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
这是home.html:
{% load static %}
<html>
<head>
<title>Home Page</title>
<meta charset='utf-8'>
</head>
<body>
<h1>{{ posts.title }}</h1>
<img src="{{ posts.image.url }}" alt="image-{{ post.title }}">
</body>
图像位于媒体目录中。请帮助我解决问题。
答案 0 :(得分:1)
我发现您的代码有两个问题
return render(request, 'home.html')
没有帖子上下文参数posts
中的对象可能是一个查询集,您需要遍历它以呈现其属性def home(request): posts = Post.objects.order_by('id') return render(request, 'home.html', {"posts":posts})