如何解决Django分页
我尝试将分页安装到Django应用中。 Django页面在第一页显示前三项,但是当我尝试转到下一页时,第二页什么也没显示。
我希望每页显示3个项目,该怎么办?
这是我的密码。
urls.py
urlpatterns = [
path('',views.find,name='find'),path('<int:num>',name='find')
]
views.py
def find(request,num=1):
if (request.method == 'POST'):
msg = request.POST['find']
form = FindForm(request.POST)
sql = 'select * from test_eu'
if (msg != ''):
sql += " where eng_discription ~ '.*" + msg +".*' ORDER BY image_amount DESC "
data =TestEu.objects.raw(sql)
page = Paginator(data,3)
msg = sql
else:
msg = 'search words...'
form = FindForm()
data = ""
page = Paginator(data,3)
params = {
'title': 'Search Customs Rulings','message': msg,'form':form,'data': page.get_page(num),}
return render(request,'db/find.html',params)
find.html
......
<ul class="pagination">
{% if data.has_prevIoUs %}
<li class="page-item">
<a class="page-link" href="{% url 'find' %}">
« first</a>
</li>
<li class="page-item">
<a class="page-link"
href="{% url 'find' %}{{data.prevIoUs_page_number}}">
« prev</a>
</li>
{% else %}
<li class="page-item">
<a class="page-link">
« first</a>
</li>
<li class="page-item">
<a class="page-link">
« prev</a>
</li>
{% endif %}
<li class="page-item">
<a class="page-link">
{{data.number}}/{{data.paginator.num_pages}}</a>
</li>
{% if data.has_next %}
<li class="page-item">
<a class="page-link"
href="{% url 'find' %}{{data.next_page_number }}">
next »</a>
</li>
<li class="page-item">
<a class="page-link"
href="{% url 'find' %}{{data.paginator.num_pages}}">
last »</a>
</li>
{% else %}
<li class="page-item">
<a class="page-link">
next »</a>
</li>
<li class="page-item">
<a class="page-link">
last »</a>
</li>
{% endif %}
</ul>
“ find.html”的代码我省略了前几个代码,因为在此问题中没有必要。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。