问题描述
我尝试将分页安装到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 (将#修改为@)