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">
<li><a href="{{ url_for(page_function,page = 1) }}">首页</a></li>
{% if page_data.has_prev %}
<li><a href="{{ url_for(page_function,page = page_data.prev_num) }}">«</a></li>
{% endif %}
{% for page in page_data.iter_pages() %}
{% if page %}
{% if page !=page_data.page %}
<li><a href="{{ url_for(page_function,page = page) }}">{{ page }}</a></li>
{% else %}
<li class="active"><a href="#">{{ page }}</a></li>
{% endif %}
{% endif %}
{% endfor %}
{% if page_data.has_next %}
<li><a href="{{ url_for(page_function,page = page_data.next_num) }}">»</a></li>
{% endif %}
<li><a href="{{ url_for(page_function,page = page_data.pages) }}">末页</a></li>
</ul>
</div>
{% endmacro %}
以上是我们利用jinja2的语法定义了一个分布的方法,这个方法,我们传了二个参数,第一个是后台传过来通过db分页查询出来的数据。第二个是我们查询的数据的方法。
这里需要特别说明一下,分页的数据有几个重要的方法:
通过上面的工作之后,最后就只差一步了,我们需要在我们的模板页通过Jinja2导入我们刚刚定义的方法,也就是在上面我们的employeelist.html中导入。
{% import 'helper.html' as helper %}
导入之后,我们就可以在我们需要的地方调用就可以了。
{{ helper.render_pagination(employees,'employee.list') }}
上面就是我们调用我们之前定义的方法。第一个参数,我们从后台传过来的值,第二个就是后台的那个视图函数。
进行了以上操作后,我们就大功告成了,下面看一下,我们实现了的效果图。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# python
# flask
# sqlalchemy
# 分页
# Python+Flask实现自定义分页的示例代码
# Flask快速实现分页效果示例
# es+flask搜索小项目实现分页+高亮的示例代码
# python flask实现分页的示例代码
# python flask实现分页效果
# Python的Flask框架中实现分页功能的教程
# Flask Paginate实现表格分页的使用示例
# 第一个
# 第二个
# 进行了
# 就可以
# 下一页
# 每页
# 我们可以
# 采用了
# 大功告成
# 有几个
# 所示
# 在上面
# 看一下
# 就叫
# 二个
# 首页
# 末页
# 传了
# 要再
相关文章:
非常酷的网站设计制作软件,酷培ai教育官方网站?
网站插件制作软件免费下载,网页视频怎么下到本地插件?
高端企业智能建站程序:SEO优化与响应式模板定制开发
广州商城建站系统开发成本与周期如何控制?
婚礼视频制作网站,学习*后期制作的网站有哪些?
如何在阿里云ECS服务器部署织梦CMS网站?
如何快速搭建高效WAP手机网站吸引移动用户?
如何使用Golang安装API文档生成工具_快速生成接口文档
c++怎么编写动态链接库dll_c++ __declspec(dllexport)导出与调用【方法】
如何批量查询域名的建站时间记录?
教学论文网站制作软件有哪些,写论文用什么软件
?
建站之星后台管理:高效配置与模板优化提升用户体验
保定网站制作方案定制,保定招聘的渠道有哪些?找工作的人一般都去哪里看招聘信息?
娃派WAP自助建站:免费模板+移动优化,快速打造专业网站
制作网站的基本流程,设计网站的软件是什么?
相亲简历制作网站推荐大全,新相亲大会主持人小萍萍资料?
一键网站制作软件,义乌购一件代发流程?
如何在新浪SAE免费搭建个人博客?
矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?
5种Android数据存储方式汇总
网站制作说明怎么写,简述网页设计的流程并说明原因?
如何高效完成自助建站业务培训?
武清网站制作公司,天津武清个人营业执照注销查询系统网站?
高性能网站服务器部署指南:稳定运行与安全配置优化方案
美食网站链接制作教程视频,哪个教做美食的网站比较专业点?
宝塔面板如何快速创建新站点?
如何通过服务器快速搭建网站?完整步骤解析
C#怎么创建控制台应用 C# Console App项目创建方法
正规网站制作公司有哪些,目前国内哪家网页网站制作设计公司比较专业靠谱?口碑好?
如何在宝塔面板中修改默认建站目录?
建站之星3.0如何解决常见操作问题?
威客平台建站流程解析:高效搭建教程与设计优化方案
微网站制作教程,我微信里的网站怎么才能复制到浏览器里?
,怎么在广州志愿者网站注册?
韩国代理服务器如何选?解析IP设置技巧与跨境访问优化指南
成都网站制作报价公司,成都工业用气开户费用?
宝盒自助建站智能生成技巧:SEO优化与关键词设置指南
香港服务器网站推广:SEO优化与外贸独立站搭建策略
PHP 500报错的快速解决方法
建站与域名管理如何高效结合?
制作网站哪家好,cc、.co、.cm哪个域名更适合做网站?
红河网站制作公司,红河事业单位身份证如何上传?
沈阳个人网站制作公司,哪个网站能考到沈阳事业编招聘的信息?
如何在建站之星网店版论坛获取技术支持?
IOS倒计时设置UIButton标题title的抖动问题
在线制作视频网站免费,都有哪些好的动漫网站?
高端智能建站公司优选:品牌定制与SEO优化一站式服务
已有域名如何免费搭建网站?
如何快速生成可下载的建站源码工具?
招商网站制作流程,网站招商广告语?
*请认真填写需求信息,我们会在24小时内与您取得联系。