2016-04-07 48 views
2

我想在Django_Table2元素中只選擇幾個字段。我一直在尋找django_table2網站django_table2,我無法找到如何限制在django_table2元素中使用的字段數量。這是我的代碼。Django Django_Tables2字段

這是我的項目view.py:

​​

這是我的index.html模板:

{% load render_table from django_tables2 %} 
{% block content %} 
    <h1>Projects</h1> 
    <ul> 
    {% for project in project_list %} 
     <li><a href="{% url 'project:detail' project.id %}">{{ project.name }}</a></li> 
    {% endfor %} 

    </ul> 
    {% render_table project_list %} 
{% endblock %} 

如何限制顯示與django_tables2場/列數?

+0

如果我的答案有幫助,你可能想選擇它作爲首選答案。謝謝。 – LhasaDad

回答

1

tutorial說:「雖然簡單,直接將查詢集傳遞給{%render_table%}不允許任何自定義。爲此,您必須定義一個Table類。 API顯示Table.Meta具有字段並排除屬性,類似於ModelForms。

1

一條路可走是有表類,並添加元排除刪除您想要的列:

class MyTable(tables.Table): 
    class Meta: 
     model = MyModel 
     exclude = ('unwanted_col', 'unwanted_col2',) 
視圖中的邏輯

然後有:

table = MyTable(data_list) 
RequestConfig(request).configure(table) 
return render(request, 'myapp/index.html', {'table': table}) 

在進口在我的views.py文件中使用,它包含與snipits相關的代碼:

import django_tables2 as tables 
from django_tables2.config import RequestConfig 
from django.shortcuts import render 

和i索引html有渲染表。

+0

謝謝您的回覆! 「MyTable類」部分需要在我的項目應用程序文件夾中的tables.py中正確嗎?視圖邏輯部分需要在我的類IndexView中正確嗎?我也需要包括任何東西,爲此工作? – user908759

+0

我有我的view.py文件。但只要你在視圖中導入它並不重要。所有跟進編輯以包括渲染的進口和RequestConfig – LhasaDad

+0

添加...要發佈的導入。 – LhasaDad