程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

[量化投資系統]Django從數據庫中實現篩選及分頁

編輯:Python

**

Django篩選數據分類遇到只能跳轉第一頁,第二頁無數據的情況。

**
1.models.py創建模型

class User(models.Model):
uname= models.CharField(max_length=20)
uEmail= models.CharField(max_length=35)
uphone= models.CharField(max_length=15)

2.views.py從數據庫中篩選數據

 if request.method == 'POST':
name = request.POST.get('code')
else:
name = request.GET.get('code')
UserList = User.objects.filter(uphone=name).order_by()

3.分頁器

 paginator = Paginator(UserList,2) # 3 posts in each page
page = request.GET.get('page')
try:
pagedata = paginator.page(page)
except PageNotAnInteger:
# If page is not an integer deliver the first page
pagedata = paginator.page(1)
except EmptyPage:
# # If page is out of range deliver last page of results
pagedata = paginator.page(paginator.num_pages)

4.傳遞數據

 return (render(request,'Qt15606/students.html',{
'name':name,'page': pagedata,'pagedata': pagedata}))

5.前端界面students.html

<div class="pagination">
<span class="step-links">
{
% if page.has_previous %}
<a  href="?page=1&code={
{name}}" >第一頁</a>
<a class="btn btn-primary btn-lg active" href="?page={
{page.previous_page_number}}&code={
{name}}">上一頁</a>
{
% endif %}
<span  class="current">
第{
{
 page.number}}頁 ··· 共 {
{
 page.paginator.num_pages}}頁
</span>
{
% if page.has_next %}
<a class="btn btn-primary btn-lg active" href="?page={
{page.next_page_number }}&code={
{name}}">下一頁</a>
<a class="btn btn-primary btn-lg active" href="?page={
{page.paginator.num_pages}}&code={
{name}}">最後一頁</a>
{
% endif %}
</span>
</div>

其中最重要的一步是要在鏈接上加篩選的條件。href="?page={ {page.next_page_number }}&code={ {name}}"


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved