问题描述
用flask_paginate给表格分页,还是在一个页面显示所有数据了,但是最下面有分页栏,点了就跳到主页下面也没分页了,不知道是什么问题,救救孩子吧!!源码如下
问题出现的环境背景及自己尝试过哪些方法
用了flask_bootstrap模版,数据库链接用的pymysql
相关代码
// 请把代码文本粘贴到下方(请勿用图片代替代码)
from flask import Flask,render_template,request
from flask_bootstrap import Bootstrap
from flask_paginate import Pagination, get_page_parameter
import pymysql
app = Flask(__name__)
bootstrap=Bootstrap(app)
@app.route('/',methods=["GET","POST"])
def shop_web():
return render_template('base.html')
@app.route('/result', methods=["GET", "POST"])
def web():
Search=request.form.get("search")
page = request.args.get(get_page_parameter(), type=int, default=1)
conn = pymysql.connect(
host='127.0.0.1',
user='root',
password='yjq960705',
db='commodity',
port=3306,
charset='utf8')
cur = conn.cursor()
sql = "select * from item where concat(`type`,`name`) like '%{}%' order by price+0 asc".format(Search)
cur.execute(sql)
u = cur.fetchall()
conn.close()
pagination = Pagination(page=page, total=len(u))
return render_template('index.html',u=u,pagination=pagination)
if name == '__main__':
app.run()
————————————————————————————————————————————
{% extends "base.html" %}
{% block title %}商品列表{% endblock %}
{% block page_content %}
<table class="table table-bordered">
<thead>
<tr>
<th width="35%">商品名称</th>
<th width="10%">价格</th>
<th width="35%">详情页地址</th>
<th width="10%">商家</th>
<th align="10">电商平台</th>
</tr>
</thead>
<tbody>
{% for i in u %}
<tr>
<td>{{ i[0] }}</td>
<td>{{ i[1] }}</td>
<td><a href={{ i[2] }}>{{ i[2] }}</a>></td>
<td>{{ i[3] }}</td>
<td>{{ i[4] }}</td>
</tr>
{% endfor %}
</tbody>
</table>
{{ pagination.links }}
{% endblock %}
你期待的结果是什么?实际看到的错误信息又是什么?
实现表格分页,现在查询完有结果,在页面最下方有分页栏,但是点页数没内容,完了再点第一页也没内容
你的 SQL 写的就是取所有数据啊