在Flask-SQLAlchemy中为两个相同结构的表分页,可以通过使用Flask的分页插件来实现。下面是一个示例代码:
pip install Flask
pip install Flask-SQLAlchemy
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'your_database_uri'
db = SQLAlchemy(app)
class Table1(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(50))
class Table2(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(50))
from flask import request
def paginate(query, per_page):
page = request.args.get('page', 1, type=int)
pagination = query.paginate(page, per_page, error_out=False)
items = pagination.items
return items, pagination
@app.route('/table1')
def table1():
query = Table1.query
items, pagination = paginate(query, per_page=10)
return render_template('table1.html', items=items, pagination=pagination)
@app.route('/table2')
def table2():
query = Table2.query
items, pagination = paginate(query, per_page=10)
return render_template('table2.html', items=items, pagination=pagination)
{% for item in items %}
<p>{{ item.name }}</p>
{% endfor %}
{% if pagination.has_prev %}
<a href="{{ url_for(request.endpoint, page=pagination.prev_num) }}">上一页</a>
{% endif %}
{% if pagination.has_next %}
<a href="{{ url_for(request.endpoint, page=pagination.next_num) }}">下一页</a>
{% endif %}
这样,你就可以在Flask-SQLAlchemy中为两个相同结构的表实现分页功能了。注意,上述代码中的your_database_uri
需要替换为你的实际数据库连接地址。
领取专属 10元无门槛券
手把手带您无忧上云