2015-04-10 2 views
2

У меня есть вид, исходящий из SingleTableView.Как управлять разбиением на страницы, используя класс-представление в django-tables2?

Инструкции по отключению разбиения на страницы вращаются вокруг, используя вызов RequestConfig, однако я не реализовал на мой взгляд функцию, которая принимает параметр запроса.

Я попытался переопределить функцию get_table_pagination() в представлении и атрибут table_pagination, однако это не сработает.

class DetailBuildView(SingleTableView): 
    template_name = 'shoppinglist/detailbuild.html' 
    table_class = BuildLineTable 
    table_pagination = None 
    def get_table_pagination(self): 
     return None 

    def get_queryset(self): 
     self.shoppinglist = get_object_or_404(ShoppingList, id=self.kwargs['shoppinglist']) 
     return BuildLine.objects.filter(shopping_list=self.shoppinglist) 
+0

Какие параметры разбивки на страницы вы хотите установить (или просто хотите отключить разбивку на страницы). Было бы полезно, если бы вы продемонстрировали код, который вы пробовали, вместо того, чтобы просто сказать, что он не работает. – Alasdair

+0

Я хочу отключить разбиение на страницы. Я включил код для представления выше. – frankster

ответ

1

Если вы хотите отключить нумерацию страниц, то вам необходимо установить table_pagination=False. Установка его на None означает, что представление использует разбивку по умолчанию.

class DetailBuildView(SingleTableView): 
    template_name = 'shoppinglist/detailbuild.html' 
    table_class = BuildLineTable 
    table_pagination = False 

Вместо установки table_pagination, вы можете переопределить get_table_pagination следующим образом, но нет никакого преимущества в этом.

def get_table_pagination(self): 
     return False 
+0

Да, я попробовал переопределить метод, так как установка значения атрибута напрямую не работала. Я не могу поверить, что это было так просто, как False vs None! благодаря – frankster