首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python Flask 学习笔记 —— 三(Flask 扩展学习 )

如果判断都没有问题,就返回一个 success 出问题,问题返回到游览器 from flask import Flask from flask import render_template,request...,只要 sql 语句写好,就可以使用 pymysql 来实现,而且效率还相对下边 ORM 更高 四、使用 Flask-SQLAlchemy (ORM)操作数据库 我们需要用到 Flask-SQLAlchemy...# course_id = # grade = # student = if __name__ == '__main__': db.create_all() 为什么要把配置文件单独抽出来..., Student 一张 # ================== 单增 # 创建学生对象 # 创建好后 id 会自增 s = Student(name="666", gender="女",...—— 删除数据 查询数据删除即可 # 单删 stu = Student.query.filter(Student.gender == "女").delete() print(stu) # 返回

1K10

Flask框架与SQLAlchemy框架手牵手,一起走

您好,是码农飞哥,感谢您阅读本文!...创建数据对应model 我们知道SQLAlchemy是一个ORM框架,就是数据与对象进行对应。所以,针对前面的user和post,我们分别建立两个model。...下面以user例,文件地址:flaskr/model/interactive_user.py from flaskr import db #定义user对应model类InteractiveUser...这里只会列举一些基本查询方法,详细查询方法,请参考,两分钟了解Python之SQLAlchemy框架使用,下面所有的方法都是在 flaskr/biz/user_service.py文件中。...设置启动类 前面的步骤弄好之后,就到了我们最后一步了,创建一个启动类,用于运行我们app。文件地址是:/flaskr/manage.py。这里项目的端口号设置 5001。

1.2K20
您找到你想要的搜索结果了吗?
是的
没有找到

Python Web 之 Flask-SQLAlchemy 框架

SQLAlchemy是Python语言一个关系型数据库框架,它提供了高层 ORM 和底层原生数据库操作,让开发者不用直接和 SQL 语句打交道,而是通过 Python 对象来操作数据库,在舍弃一些性能开销同时...启动服务 net start mysql 首次连接修改密码 bin\mysql -u root -p 输入直接记住随机密码登录后,执行以下命令修改密码,'password'中值替换为自己想要密码...db.session.commit() if __name__ == "__main__": app.run() SQLAlchemy常用参数 参数 说明 primary_key 如果设为 True,列为主键...default 字段设置默认值 SQLAlchemy常用字段类型 类型 说明 Integer 整数 Float 浮点数 String 变长字符串,可设置length Text 变长字符串,对较长或不限长度字符串做了优化...返回指定主键对应行,如果没有对应行,则返回 None Update 修改数据 直接赋值给模型类字段属性就可以改变字段值, 然后调用commit()方法提交会话即可 user = User.query.get

2.8K40

Flask-SQLAlchemy操作数据库

flask默认提供模型操作,但是并没有提供ORM,所以一般开发时候我们会采用flask-SQLAlchemy模块来实现ORM操作。...如果True,代表表主键 unique 如果True,代表这列不允许出现重复值 index 如果True,这列创建索引,提高查询效率 nullable 如果True,允许有空值,如果False...- 在 Flask-SQLAlchemy 中,查询操作是通过 query 对象操作数据。 - 最基本查询是返回中所有数据,可以通过过滤器进行更精确数据库查询。...User.query.filter(User.name.endswith('g')).all() get():参数为主键,如果主键不存在没有返回内容 User.query.get() 逻辑非,返回名字不等于...id3用户 us1 = User.query.get(3) #查询用户属于什么角色 us1.role

1.5K20

小白学Flask第十一天| flask-sqlalchemy数据库扩展包(一)

关系 数据库设置 学习过web开发的人也许都知道,在web开发中最常用数据库就是关系模型数据库,关系型数据库把所有的数据都存储在中,用来给应用实体建模,列数是固定,行数是可变。...首先关于数据库安装,相信在这里不必多说,这里使用是mysql数据库,如何安装?请大家自行百度。 在前面也提到了flask-sqlalchemy这个扩展。...__tablename__代表着数据库名称 下面的代码就是创建来一个整型列id,以及一个字符串类列name,并且id设置主键 # 定义列对象 id = db.Column(db.Integer...: 选项名 说明 primary_key 如果True,代表表主键 unique 如果True,代表这列不允许出现重复值 index 如果True,这列创建索引,提高查询效率 nullable...如果True,允许有空值,如果False,不允许有空值 default 这列定义默认值 关系 关系型数据库当然得说说关系这个词,关系型数据库就是使用关系把不同行联系在一起。

2.6K30

Flask数据库

一 数据库设置 Web应用中普遍使用是关系模型数据库,关系型数据库把所有的数据都存储在中,用来给应用实体建模,列数是固定,行数是可变。它使用结构化查询语言。...类中属性对应数据库列。id为主键,是由Flask-SQLAlchemy管理。db.Column类构造函数第一个参数是数据库列和模型属性类型。 如下示例:定义了两个模型类,用户和角色。 ?...# 整型主键, 会默认设置自增主键 name = db.Column(db.String(64), unique=True) email = db.Column(db.String(...,如果主键不存在没有返回内容 ?...# 整型主键, 会默认设置自增主键 name = db.Column(db.String(64), unique=True) email = db.Column(db.String(

3K20

Flask 操作Mysql数据库 - flask-sqlalchemy扩展

官网文档 https://flask-sqlalchemy.palletsprojects.com/en/master/quickstart/ 数据库设置 Web应用中普遍使用是关系模型数据库,关系型数据库把所有的数据都存储在中...SQLALchemy实际上是对数据库抽象,让开发者不用直接和SQL语句打交道,而是通过Python对象来操作数据库,在舍弃一些性能开销同时,换来是开发效率较大提升。...日期和时间 LargeBinary str 二进制文件 常用SQLAlchemy列选项 选项名 说明 primary_key 如果True,代表表主键 unique 如果True,代表这列不允许出现重复值...Query INSERT INTO users (name, email, pswd, role_id) VALUES ('zhou', 'zhou@163.com', '456789', 1) 实际上并没有多个...,如果主键不存在没有返回内容 User.query.get() 执行如下: In [6]: User.query.get(2) Out[6]: In [7]: user2 = User.query.get

5.3K20

小白学Flask第十二天| flask-sqlalchemy数据库扩展包(二)

数据库基本操作 今天整体内容比较简单,就是数据库简单操作。大家只要记住这些语句就能够好好玩耍flask-sqlalchemy数据库了。...db.create_all() 我们需要让flask-sqlalchemy数据库根据模型类创建相应数据库, db.create_all()函数寻找所以db.Model子类。...大家可以看到主代码当中我们所创建两个模型类就是继承自db.Model。 2.删除: db.drop_all() db.create_all() 为什么要写两行代码呢?...User.query.all() filter模糊查询,返回名字结尾字符g所有数据: ?...User.query.filter(User.name.endswith('g')).all() get(),参数为主键,如果主键不存在没有返回内容: User.query.get() 逻辑非,返回名字不等于

54230

Flask 操作Mysql数据库 - flask-sqlalchemy扩展

官网文档 https://flask-sqlalchemy.palletsprojects.com/en/master/quickstart/ 数据库设置 Web应用中普遍使用是关系模型数据库,关系型数据库把所有的数据都存储在中...SQLALchemy实际上是对数据库抽象,让开发者不用直接和SQL语句打交道,而是通过Python对象来操作数据库,在舍弃一些性能开销同时,换来是开发效率较大提升。...日期和时间 LargeBinary str 二进制文件 常用SQLAlchemy列选项 选项名 说明 primary_key 如果True,代表表主键 unique 如果True,代表这列不允许出现重复值...Query INSERT INTO users (name, email, pswd, role_id) VALUES ('zhou', 'zhou@163.com', '456789', 1) 实际上并没有多个...,如果主键不存在没有返回内容 User.query.get() 执行如下: In [6]: User.query.get(2) Out[6]: In [7]: user2 = User.query.get

20.5K22

Flask-SQLAlchemy安装及设置

Flask-SQLAlchemy安装及设置 SQLALchemy 实际上是对数据库抽象,让开发者不用直接和 SQL 语句打交道,而是通过 Python 对象来操作数据库,在舍弃一些性能开销同时,换来是开发效率较大提升...更多 binds 信息见用 Binds 操作多个数据库。 SQLALCHEMY_ECHO 如果设置Ture, SQLAlchemy 会记录所有 发给 stderr 语句,这对调试有用。...这里给出一些 常见连接字符串。...日期和时间 LargeBinary str 二进制文件 常用SQLAlchemy列选项 选项名 说明 primary_key 如果True,代表表主键 unique 如果True,代表这列不允许出现重复值...指定关系中记录排序方式 secondary 指定多对多关系中关系名字 secondary join 在SQLAlchemy中无法自行决定时,指定多对多关系中二级联结条件

3.1K50

带你认识 flask 中数据库

本处,从DATABASE_URL环境变量中获取数据库URL,如果没有定义,将其配置basedir变量表示应用顶级目录下一个名为app.db文件路径。...就让我们从用户模型开始吧,利用 WWW SQL Designer工具,画了一张图来设计用户各个字段(译者注:实际名为user): id字段通常存在于所有模型并用作主键。...大多数情况下,主键都是数据库自动赋值只需要提供id字段作为主键即可。...当你一个函数作为默认值传入后,SQLAlchemy会将该字段设置调用该函数值(请注意,在utcnow之后没有包含(),所以我传递函数本身,而不是调用它结果)。...本处user是数据库名称,Flask-SQLAlchemy自动设置类名为小写来作为对应名称。 User类有一个新posts字段,用db.relationship初始化。

2.2K20

Quartz.net官方开发指南 第九课: JobStore

但是性能缺陷不是非常差,尤其是如果你在数据库主键上建立索引。...实际上,可以你可以前缀设置任何你想要前缀,只要你告诉AdoJobStore那个前缀是什么即可(在你Quartz属性文件中配置)。...配置AdoJobStore数据库前缀 quartz.jobStore.tablePrefix = QRTZ 然后需要设置JobStore所使用数据源。...为了指示AdoJobStore所有的JobDataMaps中值都是字符串,并且能以“名字-值”对方式存储而不是以复杂对象序列化形式存储在BLOB字段中,应设置 quartz.jobStore.useProperties...这样做,从长远来看非常安全,这样避免了对存储在BLOB中非字符串序列化对象类型转换问题。

1.1K90

【一周掌握Flask框架学习笔记】Flask中使用数据库(使用Flask-SQLAlchemy管理数据库)

Flask中使用数据库 Flask-SQLAlchemy扩展 SQLALchemy 实际上是对数据库抽象,让开发者不用直接和 SQL 语句打交道,而是通过 Python 对象来操作数据库,在舍弃一些性能开销同时...更多 binds 信息见用 Binds 操作多个数据库。 SQLALCHEMY_ECHO 如果设置Ture, SQLAlchemy 会记录所有 发给 stderr 语句,这对调试有用。...选项名 说明 primary_key 如果True,代表表主键 unique 如果True,代表这列不允许出现重复值 index 如果True,这列创建索引,提高查询效率 nullable...在Flask-SQLAlchemy中,查询操作是通过query对象操作数据。 最基本查询是返回中所有数据,可以通过过滤器进行更精确数据库查询。...404() 返回查询第一个结果,如果未查到,返回404 get() 返回指定主键对应行,如不存在,返回None get_or_404() 返回指定主键对应行,如不存在,返回404 count()

4K20

Flask_数据库

,代表表主键 unique 如果True,代表这列不允许出现重复值 index 如果True,这列创建索引,提高查询效率 nullable 如果True,允许有空值,如果False,不允许有空值...一方定义关系,多方定义外键 __tablename__ 定义名,如果未定义,默认创建同类名名 realtionship 描述了Role和User关系,第一个参数对应参照类名(一方类名...对象后,就立即加载与其关联对象,这样会让总查询数量减少,但如果返回条目数量很多,就会比较慢 设置 subquery 的话,role.users 返回所有数据列表 另外,也可以设置动态方式(dynamic...),这样关联对象会在被使用时候再进行加载,并且在返回前进行过滤,如果返回对象数很多,或者未来会变得很多,那最好采用这种方式 设置 dynamic 的话,role.users 返回查询对象,并没有做真正查询...,如果主键不存在没有返回内容 User.query.get() # 逻辑非,返回名字不等于wang所有数据 User.query.filter(User.name!

1.3K50

Flask入门第三天

. - 根据对象操作转换成SQL语句,根据查询结果转化成对象, 在映射过程中有性能损失.   2,Flask-SQLAlchemy flask默认提供模型操作,但是并没有提供ORM,所以一般开发时候我们会采用...列选项 primary_key:如果True,代表表主键 unique:如果True,代表这列不允许出现重复值 index:如果True,这列创建索引,提高查询效率 nullable:如果...User.query.filter(User.name.endswith('g')).all() get():参数为主键,如果主键不存在没有返回内容 User.query.get() 逻辑非,返回名字不等于...  2,运行机制 - 蓝图是保存了一组将来可以在应用对象上执行操作,注册路由就是一种操作 - 当在应用对象上调用 route 装饰器注册路由时,这个操作修改对象url_map路由 - 然而,蓝图对象根本没有路由...下面的示例蓝图所在目录下static_admin目录设置静态目录 admin = Blueprint("admin",__name__,static_folder='static_admin')

2.7K20

Flask-SQLALchemy 连接数据库

Flask-SQLALchemy 实现了关系数据库和 Python 对象映射,舍弃了一些性能开销,换取了较大开发效率提升和开发人员便利。...当提示下图结果时,安装成功。 ? 三、Flask-SQLALchemy 连接数据库 1. 先创建一个数据库 这里使用之前创建 admin 用户连接数据库。...回车后输入密码连接数据库,创建一个数据库来使用,这里也是使用之前创建过数据库 MyDB_one ,如果没有就创建。...数据库连接设置 设置 SQLALCHEMY_TRACK_MODIFICATIONS True 动态追踪修改设置,如未设置会提示警告。...创建 SQLAlchemy 对象 Flask app 对象传递给 Flask-SQLAlchemy 中导入 SQLAlchemy 类,创建一个 SQLAlchemy 对象 db ,这个对象名是自定义

2.7K30

Flask入门到放弃(四)—— 数据库

Flask-SQLAlchemy flask默认提供模型操作,但是并没有提供ORM,所以一般开发时候我们会采用flask-SQLAlchemy模块来实现ORM操作。...如果True,代表表主键 unique 如果True,代表这列不允许出现重复值 index 如果True,这列创建索引,提高查询效率 nullable 如果True,允许有空值,如果False...在 Flask-SQLAlchemy 中,查询操作是通过 query 对象操作数据。 最基本查询是返回中所有数据,可以通过过滤器进行更精确数据库查询。...另外,也可以设置动态方式(dynamic),这样关联对象会在被使用时候再进行加载,并且在返回前进行过滤,如果返回对象数很多,或者未来会变得很多,那最好采用这种方式 设置 dynamic 的话...Student.query.filter(Student.name.endswith('g')).all() get():参数为主键,如果主键不存在没有返回内容 Student.query.get()

3.1K20

flask数据操纵

SQLAlchemy是一个关系型数据库框架,它提供了高层ORM和底层原生数据库操作。flask-sqlalchemy是一个简化了SQLAlchemy操作flask扩展。...安装 pip install flask-sqlalchemy 这里以mysql数据库例 安装pymysql pip install pymysql 相关配置 from flask import...flask_sqlalchemy import SQLAlchemy import pymysql pymysql.install_as_MySQLdb() app = Flask(__name__) # 设置连接数据库...,代表表主键 unique 如果True,代表这列不允许出现重复值 index 如果True,这列创建索引,提高查询效率 nullable 如果True,允许有空值,如果False,不允许有空值...=False) #一对一需要把uselist设置False # 内容模型 class Acontent(db.Model): # 名 __tablename__ = 'tbl_acontent

1.3K10
领券