簡體   English   中英

如何在django模板中呈現queryset

[英]How to render queryset in django template

嗨我使用此代碼進行渲染

def ShowContent(dic, htmlpage):
    plantilla = get_template(htmlpage)
    c = Context(dic)
    renderizado = plantilla.render(c)
    return HttpResponse(renderizado)

我想代表這個查詢,所以我使用'AllQuery'字典'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

只需使用通用列表視圖,這將使您的生活更輕松,節省一些時間。

class ListView(generic.ListView)
    model=Actividad
    template_name='todas.html'

然后在您的模板中,您可以像這樣顯示列表

{% for i in object_list %}
    {{ i.titulo }}
{% endfor %}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM