2014-03-12 109 views
0

進出口試圖找到一種方式來改變Django的默認?page=1?side=1,也許更好,/side/1翻譯Django的默認頁= 1至側= 1(挪威)

這是我的列表視圖:??

class EntryListView(ListView): 
    context_object_name = "news_list" 
    paginate_by = 18 
    queryset = Entry.published.all().order_by('-start_publication') 

我已經試過這樣:

urlpatterns = patterns('', 
    url(r'^/side/(?P<page>\d+)/$', 'news.views.EntryListView'), 
    url(r'^$', EntryListView.as_view(), name="news"), 
) 

但是,這是行不通的。

回答

0

要將?page=1更改爲?side=1,您可以將page_kwarg屬性添加到您的班級。

class EntryListView(ListView): 
    context_object_name = "news_list" 
    paginate_by = 18 
    queryset = Entry.published.all().order_by('-start_publication') 
    page_kwarg = 'side' 

沒有理由認爲這/side/1/將不匹配不重寫page_kwarg你的URL模式,也許你錯過了,而測試斜線?

+0

page_kwarg很棒!不知道爲什麼我的/ side/1 /不起作用。我嘗試過使用'(?P \ d +)'和(?P \ d +),但是當我嘗試時,我只收到了「Page not found」,但是'side = 2'正常工作。謝謝。 –