flask渲染页码

在 Flask 框架中,如果你想实现分页功能并渲染页码到你的 HTML 页面,你可以使用 Flask-SQLAlchemy 和 Flask-Paginate 这样的扩展来简化这个过程。下面用一个简单的例子来说明如何在 Flask 应用中实现分页和渲染页码。

首先,确保你已经安装了 Flask-SQLAlchemy 和 Flask-Paginate。如果还没有安装,可以使用 pip 来安装:

pip install flask-sqlalchemy flask-paginate

然后,在你的 Flask 应用中添加以下代码:

from flask import Flask, render_template, request
from flask_sqlalchemy import SQLAlchemy
from flask_paginate import Pagination, get_page_args

app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///example.db'
db = SQLAlchemy(app)

class Item(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(80), unique=True, nullable=False)

@app.route('/')
def index():
    page, per_page, offset = get_page_args(page_parameter='page', per_page_parameter='per_page')
    items = Item.query.order_by(Item.id).offset(offset).limit(per_page).all()
    total = Item.query.count()

    pagination = Pagination(page=page, per_page=per_page, total=total,
                            css_framework='bootstrap4')

    return render_template('index.html', items=items, page=page,
                           per_page=per_page, pagination=pagination)

if __name__ == '__main__':
    app.run(debug=True)

在你的 HTML 模板 index.html 中,你可以使用 Bootstrap 或者你喜欢的 CSS 框架来渲染分页链接:

{% extends "base.html" %}

{% block content %}
  <h1>Items</h1>
  {% for item in items %}
    <div>{
  { item.name }}</div>
  {% endfor %}

  {% if pagination %}
    <nav aria-label="Page navigation">
      <ul class="pagination">
        {% for url in pagination.iter_pages() %}
          {% if url %}
            {% if url != pagination.page %}
              <li>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

svygh123

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值