【发布时间】:2018-10-02 15:39:01
【问题描述】:
我有 3 个模型。用户、帖子和证明。帖子由用户添加到网站。当其他用户按照帖子所说的去做时。他们上传了 2 张图片来表示他们完成了任务。该模板将显示他们上传的 2 张图片。我知道我在调用图像的模板中犯了一些错误。有谁知道使用related_name 调用图像的正确方法。仅供参考,我是 python 和 Django 的新手,如果这个问题太琐碎或逻辑错误,我很抱歉
证明/models.py
User = get_user_model()
class Proof(models.Model):
user = models.ForeignKey(User, related_name='proofmade')
post = models.ForeignKey(Post, related_name='postproofmade')
made_at = models.DateTimeField(auto_now=True)
image_of_task= models.ImageField()
proof_you_made_it = models.ImageField()
suggestions = models.TextField(max_length=1000)
def __str__(self):
return self.post.title
模板
{% for user in post.made.all %}
<div class="container">
<img src="{{ user.proofmade.image_of_task.url }}" height="150px"/>
<img src="{{ user.proofmade.proof_you_made_it.url }}" height="150px"/>
</div>
{% endfor %}
post/views.py
class PostDetail(SelectRelatedMixin, DetailView):
model = Post
select_related = ('user', 'group')
def get_queryset(self):
queryset = super().get_queryset()
return queryset.filter(user__username__iexact=self.kwargs.get('username'))
【问题讨论】:
-
这里没有足够的信息。
post是什么?made在哪里定义为相关名称?请至少显示视图。 -
@DanielRoseman 视图现在只有 CreateView 和 DeleteView 添加它们
-
但是哪个视图负责呈现该模板?同样,
post是什么? -
@DanielRoseman 很抱歉我添加了负责模板的视图
-
那是一个重定向,根本不负责显示任何模板。
标签: python django python-3.x django-models django-templates