Django-如何通过views.py中的查询自动检索模板中的列?

时间:2019-07-09 19:49:16

标签: django django-templates django-views

有一个包含30列的模块。 我在views.py中查询该表以获取最后一条记录(最后一行)。 要在模板(index.html)中获取数据,我必须在每一列及其前面写入其值。我必须做30次! 是否有类似{{form}}的东西来自动获取所有列及其值,或者至少通过使用{%for ...%}?

在views.py

def articlesindex(request):    
    data = Articles.objects.all().last()
    return render(request, 'Articles\index.html', {'articles':data})

def articlesindex(request): data = Articles.objects.all().last() return render(request, 'Articles\index.html', {'articles':data})

在index.html

{{ articles }}   (does not work)
{{ articles.a_table }} (does not work)
 {% for k,v in articles %} (does not work)
        <tr>
            <td>{{ k }}</td>
            <td>{{ v }}</td>
        </tr>

1 个答案:

答案 0 :(得分:0)

这是因为last()返回查询集中的单个对象(请参见文档here)。因此,因为它是单个对象,所以您只有一行。您可以按如下所示渲染对象:

<tr>
   <td>{{ articles.attr_1 }}</td>
   <td>{{ articles.attr_2 }}</td>
   ...
   <td>{{ articles.attr_n }}</td>
</tr>

属性一一