如何在Django模板中的集合中访问特定对象?

时间:2013-01-31 21:03:55

标签: python django

模特:

class Panel(models.Model):
loc = models.IntegerField()
title = models.CharField(max_length=200)

def __unicode__(self):
    return self.title

模板随视图中的Panel实例提供:

def index(request):
return render_to_response('application/index.html', 
                          {"DEBUG": True,
                           "panels": Panel.objects.all() },
                          context_instance=RequestContext(request))

模板尝试访问特定模型实例,如下所示:

{% with panel = panels[1] %}
...presentation logic....
{% endwith %}

目前这导致

在/ applicatino /上的TemplateSyntaxError 你'预计至少有一个变量赋值

2 个答案:

答案 0 :(得分:2)

您可以使用模板中的panels.1访问该面板,如下所示:

{% with panel=panels.1 %}
   ...
{% endwith %}

答案 1 :(得分:1)

也许你可以这样做:

list(Panel.objects.all())

在您的控制器中,然后在您可以执行的模板中:

{% for panel in panels %}
    <!-- your code here -->
{% endfor %}