Flask的flask-sqlalchemy
flask-sqlalchemy是Flask和SQLAlchemy的管理者
- db = SQLAlchemy()
- 包含配置
- 包含ORM基类
- 包含create_all
- engine
- 创建连接
举例:
views中的account.py
#!/usr/bin/env python
# -*- coding:utf-8 -*- from flask import Blueprint
from .. import db
from .. import models account = Blueprint('account', __name__) @account.route('/login')
def login():
# 添加示例
"""
db.session.add(models.Users(username='alex', pwd='123', gender=1))
db.session.commit() obj = db.session.query(models.Users).filter(models.Users.id == 1).first()
print(obj) PS: db.session和db.create_session
"""
# db.session.add(models.Users(username='wupeiqi1', email='wupeiqi1@xx.com'))
# db.session.commit()
# db.session.close()
#
# db.session.add(models.Users(username='wupeiqi2', email='wupeiqi2@xx.com'))
# db.session.commit()
# db.session.close()
# db.session.add(models.Users(username='alex1',email='alex1@live.com'))
# db.session.commit()
# db.session.close() user_list = db.session.query(models.Users).all()
db.session.close()
for item in user_list:
print(item.username) return 'login'
__init__.py
#!/usr/bin/env python
# -*- coding:utf-8 -*-
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
db = SQLAlchemy() from .models import *
from .views import account def create_app():
app = Flask(__name__)
app.config.from_object('settings.DevelopmentConfig') # 将db注册到app中
db.init_app(app) # 注册蓝图
app.register_blueprint(account.account) return app
models.py
#!/usr/bin/env python
# -*- coding:utf-8 -*-
from . import db class Users(db.Model):
"""
用户表
"""
__tablename__ = 'users'
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(80), unique=True, nullable=False)
email = db.Column(db.String(120), unique=True, nullable=False) def __repr__(self):
return '<User %r>' % self.username
create_table.py
from sansa import create_app
from sansa import db app = create_app() with app.app_context():
db.create_all()
run.py
#!/usr/bin/env python
# -*- coding:utf-8 -*-
"""
生成依赖文件:
pipreqs ./ """
from sansa import create_app app = create_app() if __name__ == '__main__':
app.run()
settings.py
#!/usr/bin/env python
# -*- coding:utf-8 -*- class BaseConfig(object):
# SESSION_TYPE = 'redis' # session类型为redis
# SESSION_KEY_PREFIX = 'session:' # 保存到session中的值的前缀
# SESSION_PERMANENT = True # 如果设置为False,则关闭浏览器session就失效。
# SESSION_USE_SIGNER = False # 是否对发送到浏览器上 session:cookie值进行加密 SQLALCHEMY_DATABASE_URI = "mysql+pymysql://root@127.0.0.1:3306/s7day145_2?charset=utf8"
SQLALCHEMY_POOL_SIZE = 5
SQLALCHEMY_POOL_TIMEOUT = 30
SQLALCHEMY_POOL_RECYCLE = -1 # 追踪对象的修改并且发送信号
SQLALCHEMY_TRACK_MODIFICATIONS = False class ProductionConfig(BaseConfig):
pass class DevelopmentConfig(BaseConfig):
pass class TestingConfig(BaseConfig):
pass
目录结构
项目根目录下
sansa目录下
views目录下
Flask的flask-sqlalchemy的更多相关文章
- Flask 中的 SQLAlchemy 使用教程
Flask 是一个 python web micro framework.所谓微框架,主要是 flask 简洁与轻巧,自定义程度高.相比 django 更加轻量级. 之前一直折腾 django,得益于 ...
- Flask 系列之 SQLAlchemy
SQLAlchemy 是一种 ORM 框架,通过使用它,可以大大简化我们对数据库的操作,不用再写各种复杂的 sql语句 了. 说明 操作系统:Windows 10 Python 版本:3.7x 虚拟环 ...
- flask连接数据库mysql+SQLAlchemy
使用flask框架链接2种数据库 ----------db.py # -*- coding: utf-8 -*- # Flask hello world from flask import Flask ...
- Flask01 初识flask、flask配置
1 什么是flask Flask是一个使用 Python 编写的轻量级 Web 应用框架.其 WSGI 工具箱采用 Werkzeug ,模板引擎则使用 Jinja2 . 百度百科:点击前往 中文文档: ...
- Python flask 基于 Flask 提供 RESTful Web 服务
转载自 http://python.jobbole.com/87118/ 什么是 REST REST 全称是 Representational State Transfer,翻译成中文是『表现层状态转 ...
- [Flask]学习Flask第三天笔记总结
from flask import Flask,render_template,request from others import checkLogin app = Flask(__name__) ...
- 【Flask】Flask学习笔记(一) 应用基本结构
初始化 使用前必须创建一个应用实例 from flask import Flask app = Flask(__name__) 路由和视图函数 请求流程 客户端(web浏览器)--> web服 ...
- python框架之Flask(1)-Flask初使用
Flask是一个基于 Python 开发并且依赖 jinja2 模板和 Werkzeug WSGI 服务的一个微型框架,对于 Werkzeug 本质是 Socket 服务端,其用于接收 http 请求 ...
- cannot import name 'Flask' from 'flask'
今天发现了智障的真我. 刚入门flask,建了一个文件命名叫flask.py 在virtualenv的容器里运行该py文件,报错cannot import name 'Flask' from 'fla ...
- flask框架----flask中的wtforms使用
一.简单介绍flask中的wtforms WTForms是一个支持多个web框架的form组件,主要用于对用户请求数据进行验证. 安装: pip3 install wtforms 二.简单使用wtfo ...
随机推荐
- 树莓派 - wiringPi
wiringPi其实和BCM2835 library类似,也是通过memmap, IOmap来实现在用户空间直接操作底层寄存器 wiringPi http://wiringpi.com/ Wiring ...
- mycat——未完成
https://www.cnblogs.com/joylee/p/7513038.html https://blog.csdn.net/wrs120/article/details/80417345 ...
- Volume 1. Sorting/Searching(uva)
340 - Master-Mind Hints /*读了老半天才把题读懂,读懂了题输出格式没注意,结果re了两次. 题意:先给一串数字S,然后每次给出对应相同数目的的一串数字Si,然后优先统计Si和S ...
- (九)python3 列表生成式
列表生成式即 List Comprehensions,是 Python 内置的非常简单却强大的可以用来创建 list 的生成式. 要生成 list [1, 2, 3, 4, 5, 6, 7, 8, 9 ...
- Codeforces 805 D Minimum number of steps
题意: 给定一串字符串,将所有“ab”的子串替换为“bba”,询问多少次操作后没有子串“ab”. 分析: 观察可得,将“ab”替换为“bba”有两种结果. ①a移到了b的后面 ②增加了一个b 而且最终 ...
- SQLAlchmy模块详解
之前写过一篇博客介绍过sqlalchemy的基本用法,本篇博客主要介绍除增删改查以外SQLAlchemy对数据库表的操作,主要内容有单表操作.一对多操作.多对多操作. 一.单表操作 单表操作的增删改查 ...
- vscode调试angular2
调试步骤: 1.安装nodejs 2.安装vscode 3.vscode安装debugger for chrome插件 4.选择调试->打开调试配置,选择chrome配置,打开lauch.jso ...
- python面向对象编程实例
1.编写程序, 编写一个学生类, 要求有一个计数器的属性, 统计总共实例化了多少个学生 class Student: """学生类""" c ...
- 关于.NET玩爬虫这些事 【初码干货】
这几天在微信群里又聊到.NET可以救中国但是案例太少不深的问题,我说.NET玩爬虫简直就是宇宙第一,于是大神朱永光说,你为何不来写一篇总结一下? 那么今天就全面的来总结一下,在.NET生态下,如何玩爬 ...
- STM32F407 新建基于固件库的项目模板
1.新建文件夹如图: 2.新建项目在USER文件夹中,选cpu如图: 若再弹出窗口, 直接点cancel 3.删了这俩文件夹: 4.复制文件到fwlib: src 存放的是固件库的.c 文件, inc ...