我有一个应用程序,它使用'django-registration'一个名为'idea'的自定义构建模型以及'userprofile'
现在,Idea类如下所示
类Idea(models.Model):
title = ...
user = models.ForeignKey(User)
User类是Django的Auth用户系统。
UserProfile看起来如下。
类UserProfile(ImageModel):
user = models.ForeignKey(User)
image = models.ImageField(.....)
现在让我们在我的首页上说我想显示所有的想法,并让用户和他的“头像”显示。
如何关联所有三个模型而无需通过上下文进行渲染。
{%for ideas%}} {{idea.user.get_full_name}}刚刚发布了一个名为{{idea.title}}的想法 {%endofr%}
现在我想在此显示用户个人资料照片。
我能想出的最好的是
{%for userprofile in idea.user_set.all%}
img src =“{{userprofile.image}}”
{%endfor%}
答案 0 :(得分:0)
想法实例有一个用户,通过ForeignKey。在用户实例上,您使用get_profile
方法返回此用户的相关配置文件。
所以你可以这样做(未经测试):
{% for idea in ideas %}
{{ idea.user.get_full_name }} <img src="{{ idea.user.get_profile.image }}"/> just posted an idea with the name {{ idea.title }}
{% endfor %}
答案 1 :(得分:0)
我认为从长远来看,最简单的方法是注册一个包含标记,以便您可以在任何模型中重复使用它。