2016-09-14 55 views
0

我想覆蓋get_context_data包含其他模型的數據。如何Django我可以插入列表視圖使用mixins的詳細信息視圖

我有詳細信息視圖,並在該網站頁面上我想顯示列表與分頁。

我想混合細節視圖,也很少列表視圖,我想使詳細信息頁面上的分頁可用,我想用.filter()和** kwargs或手動kwargs過濾。我想繼承詳細視圖中的列表視圖,我想在詳細視圖內繼承列表視圖。我希望它很短。

我想用簡單的paginate_by =做get_context_data使分頁配置...這可能嗎?

+0

類視圖只有它們的設計好。如果你想要混合,我建議編寫一個基於函數的視圖。或者,從View繼承並實現所描述的功能的方法。 – dzejdzej

+0

你可能會發現[使用'SingleObjectMixin'和'ListView'](https://docs.djangoproject.com/en/1.10/topics/class-based-views/mixins/#using-singleobjectmixin-with-listview)例子來自文檔有用。 – Alasdair

回答

0

你需要做的是這樣

def get_context_data(self, *args, **kwargs): 
    context = super(MyClass, self).get_context_data(*args, **kwargs) 
    context['MyList'] = QuerySet 
    return context 

這會增加你想要的任何背景,並使其在模板可用。

+0

應該用什麼來代替QuerySet? SomeModel.objects.all()的型號名稱或結果返回 如何使用kwargs或args進行過濾? –

+0

是的,SomeModel.objects.all()是您的查詢集。要過濾,你可以做SomeModel.objects.filter(field = kwargs ['field']),如果它從urls.py傳遞過來的話。 – Arnaud

相關問題