【发布时间】:2015-06-07 15:25:15
【问题描述】:
您好,我正在使用此代码进行渲染
def ShowContent(dic, htmlpage):
plantilla = get_template(htmlpage)
c = Context(dic)
renderizado = plantilla.render(c)
return HttpResponse(renderizado)
我想代表这个查询,所以我使用 'AllQuery' dict 来表示 'todas.html'。
def ShowAll(request):
AllQuery = Actividad.objects.all().order_by('fecha')
print AllQuery
return ShowContent(AllQuery, 'todas.html')
我不知道如何在我的模板中表示它
<tr>
<td></td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
来自models.py的Actividad
class Actividad(models.Model):
id_evento = models.IntegerField(primary_key=True)
titulo = models.CharField(max_length=100)
tipo_evento = models.CharField(max_length=50)
gratis = models.BooleanField(default=False)
fecha = models.DateField()
hora = models.TimeField()
largo = models.BooleanField(default=False)
url = models.URLField(max_length=128)
有什么想法吗?我认为这很容易,但我不明白。我正在尝试这个:
{% for i in AllQuery %}
{ AllQuery.i.titulo }
{% endfor %}
从视图中,我可以访问做
def ShowAll(request):
AllQuery = Actividad.objects.all().order_by('fecha')
print AllQuery[0].titulo
【问题讨论】:
-
这应该有效,{% for i in AllQuery %} {{ i.titulo }} {% endfor %}
-
不行,我试过了 :'( help?
-
我认为查询集返回给我一个列表,而不是一个字典。我的意思是,“Actividad”对象的列表,Actividad 是一个字典
-
你为什么坚持使用这个毫无意义的 ShowContent 功能?整个事情可以通过调用
django.shortcuts.render来代替。
标签: django templates for-loop django-queryset