我有一个网站,我让用户经理为他的帐户。
在他的帐户页面中,它会显示他提交的所有文章。
为了简单起见,我让他可以选择在一个页面中显示多少篇文章。默认情况下只在一个页面中显示10篇文章,它是由django分页功能完成的,如果用户想在一个页面中显示20篇文章页面,我将参数添加到当前网址。
例如:?num=20
然后对于第二页,网址应为?num=20&page=2
问题是,一旦点击页面下一个按钮,网址变为?page = 2,就没有num参数传递给django。
并且我需要传递给django的更多参数,比如只显示体育中的主题文章,所以我应该再添加一个参数,比如
?num=20&sub=sport&page=2
但我怎样才能让它发挥作用?
我所知道的只是给每个参数一个参数,比如
url(_(r'^post/(?P<num>\w+)/(?P<sub>\w+)/(?P<page>\w+)/$'), views.post, ),
我该如何为此设计网址?如果我有大约5个参数需要发布。
答案 0 :(得分:1)
如果您使用?num=20&sub=sport&page=2
之类的网址参数,则可以使用request.GET
。
print request.GET['num'], request.GET['sub'] request.GET['page']
您可以创建自己的变量,如:
def test_func(request):
next_page_url = '%s?page=%s' % (request.path, int(request.GET['page'] + 1) if 'page' in request.GET else '%s?page=2' % (request.path)
return dict(next_page_url=next_page_url)