【发布时间】:2021-02-23 23:16:42
【问题描述】:
我正在尝试输出一个包含许多博客文章的网页,每个文章都可能包含许多图像。
模型.py:
class FreeImage(models.Model):
f_img = models.ImageField(null=True, blank=True, upload_to="img/f")
f_img_alt = models.CharField(max_length=100, blank=True, null=True)
post = models.ForeignKey('Post', on_delete=models.SET_NULL, null=True)
class Post(models.Model):
title = models.CharField(max_length=100, unique=True)
Views.py:
def home_view(request):
posts = Post.objects.order_by('-id')
freeimgs = FreeImage.objects.filter(post__in=posts)
context = {
'posts':posts,
'freeimgs' :freeimgs,}
return render(request, 'home.html', context)
模板:
{% extends 'base.html' %}
{% block main %}
{% for post in posts%}
<h3>{{post.title}}</h3>
{% for i in freeimgs.post_set.all %}
<h5>Test</h5>
<img src="{{ freeimage.f_img.url }}" alt="{{freeimage.f_img_alt}}">
{% endfor %}
{% endfor %}
{% endblock %}
freeimgs.post_set.all 在这里不返回任何内容。我不知道我还能如何在模板中显示与正确帖子相对应的图像。
【问题讨论】:
标签: django django-views django-templates