2014-03-12 110 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'正常工作。谢谢。 –