我目前正在開發一個Django應用程序,它將利用臭名昭着的「分頁」技術。我想弄清楚django.core.paginator模塊是如何工作的。Django分頁和「當前頁」
我有一個問題模型的應用程序。我將使用此分頁程序列出所有問題。每頁有20個問題。
def show_question(question_pk):
questions = Question.objects.all()
paginator = Paginator(questions, 20)
page = ... # Somehow figure out which page the question is on
return render_to_response('show_question.html', { 'page' : page })
在視圖中,在這裏我列出了不同的頁面爲 「... 2,3,4 ,5,6,......」 我想以某種方式突出顯示當前頁,像許多網頁做。
實際上有兩兩件事我想知道:
- 如何使Django的找出問題所在,在哪一頁?
- 如何編寫我的模板以恰當地「突出顯示」當前訪問的頁面?
編輯:對不起,我忘了這個問題的一部分。我還希望除當前頁面之外的任何頁面都鏈接到/questions/{{ that_page.start_index }}
。所以基本上每個頁面鏈接都會鏈接到該頁面上的第一個問題。
比如你是什麼意思,你想,除了目前每個網頁鏈接到該網頁上的問題嗎?用戶將如何更改頁面? – 2009-04-14 14:45:15
我不想傳遞任何?page = 4 GET請求參數或任何東西。我只會在問題4中使用/ question/4,然後視圖會找出問題所在的頁面。這就是頁面鏈接真正針對問題的原因。 – 2009-04-14 15:16:55
頁面上的第一個問題是否會隨着更多問題的添加或可能排序而發生變化?從REST/HTTP的角度來看,這意味着URL不會引用真實資源。這就是爲什麼Django使用GET參數:註釋URL標識的資源的顯示特性。 – 2009-04-15 01:21:10