django分页后后查询条件丢失
刚学习Django写了一个搜索的视图函数,想对搜索内容进行分页,现在有个问题,搜索内容提交后可以正常分页并显示第一页,选择第二个页时由于GET内容没传过去页面就显示不出来...
刚学习Django写了一个搜索的视图函数,想对搜索内容进行分页,现在有个问题,搜索内容提交后可以正常分页并显示第一页,选择第二个页时由于GET内容没传过去页面就显示不出来,请问哪个大神有好的解决办法 这是我的控件部分:查询部分
<form action="." method="GET"> <fieldset id="search_fieldset" style="paddng:20px;background:#3CF; border:#ccc 1px solid"> <input type="text" name="q" value="{{query | escape}}" class="input_text"> <input type="submit" value="Search" class="search_button"> </fieldset> </form>
<div class = "pagination">
<span class="step-links">
{% if results.has_previous %}
{# 这里需要将原来的条件传递过来 #}
<a href="?page={{results.previous_page_number}}&q={{}}">previous</a>
{% endif %}
<span class = "current">
Page{{results.number}} of {{results.paginator.num_pages}}
</span>
{% if results.has_next %}
<a href="?page={{apps.next_page_number}}&q={{}}">next</a>
{% endif %}
</span>
</div>
网上有人说需要把查询条件放在 <a href="?page={{results.previous_page_number}}&q={{}}">previous</a>的&q={{}}中,但我不知道这里面放什么,哪位大侠教一下,十分感谢 展开
<form action="." method="GET"> <fieldset id="search_fieldset" style="paddng:20px;background:#3CF; border:#ccc 1px solid"> <input type="text" name="q" value="{{query | escape}}" class="input_text"> <input type="submit" value="Search" class="search_button"> </fieldset> </form>
<div class = "pagination">
<span class="step-links">
{% if results.has_previous %}
{# 这里需要将原来的条件传递过来 #}
<a href="?page={{results.previous_page_number}}&q={{}}">previous</a>
{% endif %}
<span class = "current">
Page{{results.number}} of {{results.paginator.num_pages}}
</span>
{% if results.has_next %}
<a href="?page={{apps.next_page_number}}&q={{}}">next</a>
{% endif %}
</span>
</div>
网上有人说需要把查询条件放在 <a href="?page={{results.previous_page_number}}&q={{}}">previous</a>的&q={{}}中,但我不知道这里面放什么,哪位大侠教一下,十分感谢 展开
2015-04-08
展开全部
给你一个Pager分页类的源码,你参考着用吧:
class Pager:
def __init__(self,size,offset,request):
self.offset = offset;
self.path = request.path;
self.query_dict = request.GET.copy()
self.size = size;
def has_previous(self):
if self.offset>0:
return True
else:
return False
def has_next(self):
if self.size>20:
return True
else:
return False
def previous_url(self):
if self.has_previous():
self.query_dict["offset"]=self.offset-20
return self.path+"?"+self.query_dict.urlencode()
else:
return None
def next_url(self):
if self.has_next():
self.query_dict["offset"]=self.offset+20
return self.path+"?"+self.query_dict.urlencode()
else:
return None
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询