2

我是 django 新手,无法从模板中的模型读取数据。

这是模型。

class Team(models.Model):
team_name = models.CharField(max_length=30, default="Team")
created = models.DateTimeField(auto_now_add=True)

def __unicode__(self):
    return self.team_name

风景。

def create_team(request):
team = Team.objects.all()
return render_to_response("ideas/profile.html", {'team':team})

和模板。

<h2>Available groups: {{team.team_name}} </h2>

可能性这是一个明显的修复:99%。无论如何,谢谢你们!

4

1 回答 1

2

team不是一个对象,它是一个查询集——简单地说,一个对象列表。即使表中只有一个对象,它也只是一个列表。因此,您不能只引用它上的模型属性,就好像它是模型的实例一样——您必须先将实例拉出:

{% for t in team %}
    {{ t.team_name }}
{% endfor %}

一些笔记。正如循环所示,命名它team没有意义。这意味着一件事,现在我们要遍历一个实体?这里的最佳实践是将单个项目命名为单数,将查询集、列表等命名为复数。然后我们会这样做更有for team in teams意义。

其次,不要在属性名称中使用模型名称。team.team_name是多余的,什么时候team.name也可以。如果还有另一个“名称”属性,则为其添加前缀,但模型本身应优先于顶级属性名称。

于 2012-09-19T16:17:47.170 回答