ORM ORM 全拼Object-Relation Mapping,中文意为 对象-关系映射.主要实现模型对象到关系数据库数据的映射. 1.优点 : 只需要面向对象编程, 不需要面向数据库编写代码. 对数据库的操作都转化成对类属性和方法的操作. 不用编写各种数据库的sql语句. 实现了数据模型与数据库的解耦, 屏蔽了不同数据库操作上的差异. 不再需要关注当前项目使用的是哪种数据库. 通过简单的配置就可以轻松更换数据库, 而不需要修改代码. 2.缺点 : 相比较直接使用SQL语句操作数据库,有性能…
Python 数据库框架 大多数的数据库引擎都有对应的 Python 包,包括开源包和商业包.Flask 并不限制你使用何种类型的数据库包,因此可以根据自己的喜好选择使用 MySQL.Postgres.SQLite.Redis.MongoDB 或者 CouchDB. 如果这些都无法满足需求,还有一些数据库抽象层代码包供选择,例如SQLAlchemy和MongoEngine.你可以使用这些抽象包直接处理高等级的 Python 对象,而不用处理如表.文档或查询语言此类的数据库实体. 选择数据库框架的…
1. 实验内容 数据库的使用对于可交互的Web应用程序是极其重要的,本节我们主要学习如何与各种主要数据库进行连接和使用,以及ORM的使用 2. 实验要点 掌握Flask对于各种主要数据库的连接方法 掌握ORM的使用规则 3.实验环境 Centos 7.9 4. 工作目录 本实验的工作目录为: /experiment Flask数据库教程 在本教程中,我们可以讨论比较的数据库之间的区别.此外,我们讨论了Flask-MongoEngine,Flask-SQLAlchemy和Flask MongoAl…
数据库操作 现在我们创建了模型,生成了数据库和表,下面来学习常用的数据库操作,数据库操作主要是CRUD,即Create(创建).Read(读取/查询).Update(更新)和Delete(删除). SQLAlchemy使用数据库会话来管理数据库操作,这里的数据库会话也称为事务(transaction). Flask-SQLAlchemy自动帮我们创建会话,可以通过db.session属性获取. 数据库中的会话代表一个临时存储区,你对数据库做出的改动都会存放在这里.你可以调用add()方法将新创建…
一.数据库的操作 1.1.新增 使用SSMS图形界面创建数据库 在SQL Server 2008 中,通过SQL Server Management Studio 创建数据库 使用Transact-SQL 语句创建数据库 该命令的语法如下: CREATE DATABASE database_name [ON [PRIMARY] [<filespec> [,…n] [,<filegroupspec> [,…n]] ] [LOG ON {<filespec> [,…n]}]…
数据库操作在web开发中扮演着一个很重要的角色,网站中很多重要的信息都需要保存到数据库中.如用户名.密码等等其他信息.Django框架是一个基于MVT思想的框架,也就是说他本身就已经封装了Model类,可以在文件中直接继承过来.但是在Flask中,并没有把Model类封装好,需要使用一个扩展包,Flask-SQLAlchemy.它是一个对数据库的抽象,让开发者不用这些编写SQL语句,而是使用其提供的接口去操作数据库,这其中涉及到一个非常重要的思想:ORM什么是ORM呢?下面我们就来详细讲解一下.…
1.Flask 中的路由   *endpoint - url_for 反向地址  *endpoint 默认是视图函数名  *methods 指定视图函数的请求方式,默认GET  defaults={"nid":1} 指定视图函数的默认参数  strict_slashes=False 是否严格遵循路由规则 /login/  redirect_to="/login" 永久跳转地址 301    *动态路由参数:  /<int:nid>  /<strin…
安装flask-sqlalchemy.pymysql模块 pip install flask-sqlalchemy pymysql ### Flask-SQLAlchemy的介绍 1. ORM:Object Relationship Mapping(模型关系映射).2. flask-sqlalchemy是一套ORM框架.3. ORM的好处:可以让我们操作数据库跟操作对象是一样的,非常方便.因为一个表就抽象成一个类,一条数据就抽象成该类的一个对象.4. 安装`flask-sqlalchemy`:`…
Flask开发系列之数据库操作 Python数据库框架 我们可以在Flask中使用MySQL.Postgres.SQLite.Redis.MongoDB 或者 CouchDB. 还有一些数据库抽象层代码包供选择,例如 SQLAlchemy 和MongoEngine.你可以使用这些抽象包直接处理高等级的 Python 对象,而不用处理如表.文档或查询语言此类的数据库实体. 使用Flask-SQLAlchemy管理数据库 我们选择使用的数据库框架是 Flask-SQLAlchemy(http://p…
前面的章节中我们已经学习了如何建立模型和关系,接下来我们学习如何使用模型的最好方法是在Python shell 中实际操作.并将介绍最常用的数据库操作. 一.创建表 首先,我们要让Flask-SQLAlchemy 根据模型类创建数据库.方法是使用db.create_all()函数 (venv) $ python hello.py shell >>> from hello import db >>> db.create_all() 查询mysql数据库,我们会发现已经创建…
Cookie Cookie是什么 HTTP是无状态协议,服务器不能记录浏览器的访问状态,也就是说服务器不能区分两次请求是否由同一个客户端发出 Cookie就是解决HTTP协议无状态的方案之一,中文是小甜饼的意思 Cookie实际上就是服务器保存在浏览器上的一段信息.浏览器有了Cookie之后,每次向服务器发送请求时都会同时将该信息发送给服务器,服务器收到请求后,就可以根据该信息处理请求 Cookie由服务器创建,并发送给浏览器,最终由浏览器保存 Cookie的用途 保持用户登录状态 Cookie…
ORM 简称 ORM, O/RM, O/R Mapping 持久化模型 特征 数据表和编程类的映射 数据类型映射 字段属性映射类的属性和数据类型 关系映射 表于表之间的关系对应到 编程类的关系上 优点 数据操作和业务逻辑区分 封装了数据库操作, 提升效率 省略了庞大的数据访问层 链接数据库 flask中是不自带ORM的,如果在flask里面连接数据库有两种方式 pymysql SQLAlchemy 是python 操作数据库的一个库.能够进行 orm 映射官方文档 sqlchemy SQLAlc…
数据库操作 ORM ORM 全拼 Object-Relation Mapping,中文意为 对象-关系映射.主要实现模型对象到关系数据库数据的映射 优点 : 只需要面向对象编程, 不需要面向数据库编写代码. 对数据库的操作都转化成对类属性和方法的操作. 不用编写各种数据库的sql语句. 实现了数据模型与数据库的解耦, 屏蔽了不同数据库操作上的差异. 不再需要关注当前项目使用的是哪种数据库. 通过简单的配置就可以轻松更换数据库, 而不需要修改代码. 缺点 : 相比较直接使用SQL语句操作数据库,有…
知识点回顾 1.子类继承父类的三种方式 class Dog(Animal): #子类 派生类 def __init__(self,name,breed, life_value,aggr): # Animal.__init__(self,name,breed, life_value,aggr)#让子类执行父类的方法 就是父类名.方法名(参数),连self都得传 super().__init__(name,life_value,aggr) #super关键字 ,都不用传self了,在新式类里的 #…
一.Flask 路由 1.添加路由的方式 ① ② 实例: ① @app.route("/my_de") def detail() ② def detail() app.add_url_rule("/my_de",view_func=detail) 2.常用参数 ①methods methods 的值是 可迭代对象 [] () 允许请求进入视图函数的方式 种HTTP请求方式 没有时默认 只有 "GET" 实例: ②endpoint endpoint…
flask与数据库的连接基于flaks_sqlaichemy 扩展 首先要连接数据库的时候必须得先下载 pip install flask-sqlalchemy 这个扩展 flask框架与数据库的连接说到底是为了方便解决业务逻辑 ORM 的中文意为对象-关系映射,主要是按模型对象到关系数据库映射的, 它的优点呢只需要面向对象编程,不需要面向数据库编写代码,对数据库的操作都转化为对类属性和方法的操作, 不用别写各种数据库的sql语句,实现了数据模型与数据库的解耦,拼比了不同数据库操作上的差异,不在…
Windows 10家庭中文版,Python 3.6.4,Flask 1.0.2 本文介绍了第一次在Flask框架中操作SQLite3数据库的测试,参考了官网的文档Using SQLite 3 with Flask,直接使用了里面定义 的几个函数:init_db.get_db.close_connection.make_dicts,另外,自己编写了视图(View)函数实现添加.读取操作. 本测试项目的目标 -使用建模文件初始化数据库成功 -连接数据库成功 -关闭数据库成功 -添加数据成功 -读取…
1.安装MySQL 直接去下载即可,如果是windows建可以下载msi,一路next即可.我已经安装过了,这里就不再演示了. 最后使用Navicat连接测试一下,我这里是没有问题的 2.SQLAlchemy的介绍和基本使用 sqlalchemy是一款orm框架 注意:SQLAlchemy本身是无法处理数据库的,必须依赖于第三方插件,比方说pymysql,cx_Oracle等等 SQLAlchemy等于是一种更高层的封装,里面封装了许多dialect(相当于是字典),定义了一些组合,比方说: 可…
笔记-flask基础操作 1.      前言 本文为flask基础学习及操作笔记,主要内容为flask基础操作及相关代码. 2.      开发环境配置 2.1.    编译环境准备 安装相关Lib windows环境下: cd ….venv/Scripts active pip install flask 2.2.    pycharm配置 在setting中的编译器中新增编译器(指向venv中的Python文件) 在run/debug configure中使用新增的编译器. 3.     …
会话技术 Cookie 客户端端的会话技术 cookie本身由浏览器保存,通过Response将cookie写到浏览器上,下一次访问,浏览器会根据不同的规则携带cookie过来 ​ 特点:   - 客户端会话技术,浏览器的会话技术   - 数据全都是存储在客户端中   - 存储使用的键值对结构进行的存储   - 特性 - 支持过期时间 - 默认会自动携带本网站的所有cookie - 根据域名进行cookie存储 - 不能跨域名 - 不能跨浏览器 - Cookie是通过服务器创建的Response…
路由 # -*- coding: utf-8 -*-   from flask import Flask, url_for                app = Flask(__name__)                             @app.route('/index/<int:year>/<string:mon>', endpoint='index', defaults={"name": 'peach', },              …
Flask-SQLALchemy Flask-SQLALchemy 是一个给你的应用添加 SQLALchemy 支持的 Flask 扩展. 它需要 SQLAlchemy 0.6 或更高的版本.它致力于简化在 Flask 中 SQLAlchemy 的 使用,提供了有用的默认值和额外的助手来更简单地完成日常任务. 我的conda源没有,我就直接pip3 数据库连接: 1. 与sqlalchemy一样,定义好数据库连接字符串DB_URI.2. 将这个定义好的数据库连接字符串DB_URI,通过SQLAL…
Flask操作数据库基本操作   常用的SQLAlchemy字段类型 类型名 python中类型 说明 Integer int 普通整数,一般是32位 SmallInteger int 取值范围小的整数,一般是16位 BigInteger int或long 不限制精度的整数 Float float 浮点数 Numeric decimal.Decimal 普通整数,一般是32位 String str 变长字符串 Text str 变长字符串,对较长或不限长度的字符串做了优化 Unicode uni…
1. Flask-SQLAlchemy 1.1 参考: http://flask-sqlalchemy.pocoo.org/2.3/ https://github.com/janetat/flasky/commits/master?after=f0d6546112480b0f728194982e3fa8f9d7f0962f+34, git reset --hard 5b https://www.cnblogs.com/allen2333/p/9059997.html 注意,任何ORM本身无法操作…
前言: 使用数据库迁移,可以直接建表,而不用我们自己写sql语句用来建表.就是将关系型数据库的一张张表转化成了Python的一个个类. 在开发中经常会遇到需要修改原来的数据库模型,修改之后更新数据库,最简单粗暴的方式就是删除旧表,然后在增加新表,这样做的缺点是会造成数据丢失. 使用数据库迁移,可以追踪数据库模式的变化,然后把变动应用到数据库中. 在flask中使用Flask-Migrate来实现数据库迁移,并且集成到Flask-Script中,所有的操作通过命令来完成. 为了导出数据库迁移命令,…
Windows 10家庭中文版,Python 3.6.4,Flask 1.0.2 Cookie是什么?有什么用? 某些网站为了辨别用户身份.进行 session 跟踪而储存在用户本地终端上的数据(通常经过加密).定义于 RFC2109 和 2965 中的都已废弃, 最新取代的规范是 RFC6265 .(可以叫做浏览器缓存)(来自百度百科) Session是什么?有什么用? Session 对象存储特定用户会话所需的属性及配置信息.这样,当用户在应用程序的 Web 页之间跳转时,存储在 Sessi…
flask中cookie和session介绍 一.cookie: 在网站中,http请求是无状态的.也就是说即使第一次和服务器连接后并且登录成功后,第二次请求服务器依然不能知道当前请求是哪个用户.cookie的出现就是为了解决这个问题,第一次登录后服务器返回一些数据(cookie)给浏览器,然后浏览器保存在本地,当该用户发送第二次请求的时候,就会自动的把上次请求存储的cookie数据自动的携带给服务器,服务器通过浏览器携带的数据就能判断当前用户是哪个了.cookie存储的数据量有限,不同的浏览器…
from flask import Flask from flask_sqlalchemy import SQLAlchemy app = Flask(__name__) # app.config['SQLALCHEMY_COMMIT_ON_TEARDOWN'] = False # app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = True # app.config['SQLALCHEMY_ECHO'] = True # pip install mys…
蓝图 作用:对程序进行目录结构划分 不使用蓝图情况下,自己分文件 目录结构: -templates -views -__init__.py -user.py -order.py -app.py app.py from views import app if __name__ == '__main__': app.run() __init__.py from flask import Flask,request app = Flask(__name__) #不导入这个不行 from . impor…
Flask之操作cookie app.py from flask import Flask, request, Response app = Flask(__name__) @app.route('/') def add_cookie(): # 返回操作面板 link = ''' <div> <h1>cookie 操作台</h1> <p><a href="/add_cookie">add cookie</a><…