访问相关的数据库字段Django模板

时间:2014-08-12 02:32:36

标签: django templates

我确定已经有了这个问题的答案,但我找不到......

我有两个这样的模型:

class TwitterAccount(models.Model):
    facebookaccount = models.ForeignKey(FacebookAccount)
    username = models.CharField(max_length=512)
    twitter_id = models.CharField(max_length=28)
    icon_url = models.CharField(max_length=512, blank=True)


class Tweet(models.Model):
    twitteraccount = models.ForeignKey(TwitterAccount)
    username = models.CharField(max_length=200)
    tweet_content = models.CharField(max_length=240)
    pub_date = models.DateTimeField('date published')

我有这样的观点:

def account_history(request):
    user = request.user
    tweets_p = Tweet.objects.filter(user_id=user.id).order_by('-pub_date')
    paginator = Paginator(tweets_p, 15)

    page = request.GET.get('page')

    try:
        tweets = paginator.page(page)
    except PageNotAnInteger:
        tweets = paginator.page(1)
    except EmptyPage:
        tweets = paginator.page(paginator.num_pages)

    return render(request, 'account_history.html', {"tweets": tweets})

这样的模板:

{% for tweet in tweets %}
    {{ tweet.username }}
    {{ tweet.tweet_content }}
    {{ TwitterAccount.icon_url }} # How do I access this value?
{% endfor %}

如何在for循环和模板中访问相关的TwitterAccount.icon_url?

1 个答案:

答案 0 :(得分:1)

这将是一个简单的

{{tweet.twitteraccount.icon_url}}

如果存在,将显示在模板上。

要在模板上显示图标:

<img src="{{tweet.twitteraccount.icon_url}}" alt="Some alt text" />

有关此问题的文档可以是found here