没有合适的资源?快使用搜索试试~ 我知道了~
首页Python利用flask sqlalchemy实现分页效果
Python利用flask sqlalchemy实现分页效果
13 下载量 61 浏览量
更新于2023-05-11
评论 1
收藏 55KB PDF 举报
主要为大家详细介绍了利用flask sqlalchemy实现分页效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
资源详情
资源评论
资源推荐
Python利用利用flask sqlalchemy实现分页效果实现分页效果
主要为大家详细介绍了利用flask sqlalchemy实现分页效果,具有一定的参考价值,感兴趣的小伙伴们可以参考
一下
Flask-sqlalchemy是关于flask一个针对数据库管理的。文中我们采用一个关于员工显示例子。
首先,我们创建SQLALCHEMY对像db。
from flask import Flask, render_template,request
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__,static_url_path='')
app.debug = True
app.secret_key = "faefasdfaf"
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///./db/personal.db' # app的配置,指定数据库路径
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = True
app.config['SQLALCHEMY_ECHO'] = True
db = SQLAlchemy(app)
然后我们利用db创建员工表:
from datetime import datetime
class Employee(db.Model):
'''员工'''
__tablename__ = 'employee'
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(50))
gender = db.Column(db.String)
job = db.Column(db.String)
birthday = db.Column(db.DateTime)
idcard = db.Column(db.String)
address = db.Column(db.String)
salary = db.Column(db.String)
release_time = db.Column(db.DateTime)
def __init__(self, name, gender, job, birthday, idcard, address, salary, release_time=None):
self.name = name
self.gender = gender
self.job = job
self.birthday = birthday
self.idcard = idcard
self.address = address
self.salary = salary
self.release_time = release_time if release_time else datetime.now()
def __repr__(self):
return '<员工{},{},{},{}>'.format(self.id, self.name, self.salary, self.address)
表创建好之后,我们可以从表中查询数据了。
from flask import render_template
from flask.views import MethodView
class EmployeeListView(MethodView): # 获取员工信息
def get(self,page=1):
employees = Employee.query.paginate(page,per_page=10)
return render_template('employeelist.html', employees=employees)
以上我们通过查询,查询出员工信息,然后传给前台一个模板。(以上我们采用了flask的蓝图进行了分模块,假设我们把上
面这个定义为视图函数为:employee.list)
注:paginate是分页的方法,第一个参数是页码,第二个是每页显示多少条。但是这样得到的结果不是一列表,需要在传到前
台的值加一个 .items,下面举例说明。(利用jinja2模板)
{% for item in employees.items %}
如上所示,在利用Jinja2去取值时,需要在后台传过来的值后面,加上.items。
继续上面的分页,这里我们要再次利用jinja2模板来定义一个方法,以实现分页的功能,这个页面名字就叫:helper.html。
{% macro render_page_data(page_data,page_function) %}
<div class="text-center">
<ul class="page_data">
weixin_38632916
- 粉丝: 4
- 资源: 966
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- RTL8188FU-Linux-v5.7.4.2-36687.20200602.tar(20765).gz
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
- SPC统计方法基础知识.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0