Flask全系

Flask全系02—数据库

文档树如下

在这里插入图片描述

apps/user/models.py

from datetime import datetime

from ext import db


class User(db.Model):
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    username = db.Column(db.String(15), nullable=False)
    password = db.Column(db.String(12), nullable=False)
    phone = db.Column(db.String(11), unique=True)
    rdatetime = db.Column(db.DateTime, default=datetime.now)

    def __str__(self):
        return self.username

apps/__init __.py

from flask import Flask

from ext import db
from settings import DevelopmentConfig
from apps.user.view import user_bp


def create_app():
    app = Flask(__name__, template_folder='../templates')
    app.config.from_object(DevelopmentConfig)
    app.register_blueprint(user_bp)
    db.init_app(app)
    return app

ext/_init _.py

from flask_sqlalchemy import SQLAlchemy

db = SQLAlchemy()

app.py

from apps.user.models import User
from apps import create_app
from ext import db

app = create_app()

manager = Manager(app=app)
migrate = Migrate(app=app, db=db)
manager.add_command('db', MigrateCommand)


@manager.command
def init():
    print('初始化')


if __name__ == '__main__':
    manager.run()

settings.py

# 配置文件
class Config:
    DEBUG = True
    SQLALCHEMY_DATABASE_URI = 'mysql+pymysql://root:123e456t@127.0.0.1:3306/flaskday05'
    SQLALCHEMY_TRACK_MODIFICATIONS = False


class DevelopmentConfig(Config):
    ENV = 'development'


class ProductionCondifg(Config):
    ENV = 'production'
    DEBUG = False

Flask-migrate与Manager与App直接的关系

在这里插入图片描述

配置过程

1.flask-script

pip install flask-script

使用里面的Manager进行命令得到管理和使用:
manager = Manager(app=app)

manager.run() ---->启动

使用命令在终端:
python3 app.py runserver ---->Runs the Flask development server

python3 app.py runserver -h 0.0.0.0 -p 5001

自定义添加命令:
@manager.command
def init():
print(‘初始化’)

python3 app.py init

2.搭建数据库

mtv:
model 模型 ----》数据库
template 模板
view 视图

安装:
pip3 install pymysql 建公路

pip3 install flask-sqlalchemy 实现ORM映射

pip3 install flask-migrate 发布命令工具

步骤:

a.配置数据库的连接路径

mysql+pymysql://user:password@hostip:port/databasename

SQLALCHEMY_DATABASE_URI = ‘mysql+pymysql://root:root@127.0.0.1:3306/flaskday05’

b.flask-sqlalchemy的搭建:

创建包ext
_init _.py中添加:

db = SQLAlchemy() ---->必须跟app联系

def create_app():

db.init_app(app)

​ return app

3. flask-migrate的配置:

migrate = Migrate(app=app, db=db)
manager.add_command(‘db’, MigrateCommand)

4.创建模型:

models.py

模型就是类,经常称作模型类

class User(db.Model): ------> user表
id = db.Column(db.Integer, primary_key=True, autoincrement=True)
username = db.Column(db.String(15), nullable=False)
password = db.Column(db.String(12), nullable=False)
phone = db.Column(db.String(11), unique=True)
rdatetime = db.Column(db.DateTime, default=datetime.now)

常见的数据类型:
Integer 整型
String(size) 字符串类型,务必指定大小
Text 长文本类型
DateTime 日期时间
Float 浮点类型
Boolean 布尔类型
PickleType 存储pickle类型 主要跟序列化有关
LargeBinary 存储大的二进制类型

可选的:
primary_key=True 主键
autoincrement=True 自增
nullable=False 不允许为空
unique=True 唯一
default=datetime.now 默认值 可以设置成当前系统时间或者其他的值

5.使用命令:

a. 敲黑板***
在app.py 中导入模型:from apps.user.models import User

b. 在终端使用命令:db
python3 app.py db init -----》 产生一个文件夹migrations
python3 app.py db migrate -----> 自动产生了一个版本文件
项目
| —apps
| —ext
| —migrations python3 app.py db init 只需要init一次
|—versions 版本文件夹
|—71edde7ee937_.py —》 python3 app.py db migrate 迁移
|—cc0dca61130f_.py
python3 app.py db upgrade 同步
python3 app.py db downgrade 降级

6.添加数据:以注册为例:

1. 找到模型类并创建对象

user = User()

2. 给对象的属性赋值

user.username = username
user.password = password
user.phone = phone

3.将user对象添加到session中(类似缓存)

db.session.add(user)

4.提交数据

db.session.commit()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: CH341A是一种经过优化的编程器件,可用于编程Flash25系列芯片。它可以通过连接计算机和目标芯片来进行编程操作。为了确保CH341A能正常工作,我们需要安装相应的驱动程序。 CH341A编程软件是为了简化编程操作而开发的一个应用程序。它提供了用户友好的图形界面,使用户可以轻松地选择所需的编程操作,并通过简单的拖放功能来完成编程任务。除了编程功能外,该软件还具有擦除和校验等其他功能,可以满足用户的多种需求。 驱动程序是连接计算机和CH341A编程器件的桥梁。它负责与计算机的操作系统进行通信,并确保编程器件能够被识别和使用。通过安装正确的驱动程序,我们可以确保CH341A能够在计算机上正常运行,并能够与目标芯片进行通信。 为了安装CH341A的驱动程序,我们可以从官方网站下载最新版本的驱动程序,并按照官方提供的安装指南进行操作。安装完成后,我们可以连接CH341A编程器件到计算机,并打开编程软件来进行编程操作。 总而言之,CH341A编程软件及驱动程序是用于编程Flash25系列芯片的工具。通过正确安装驱动程序并使用编程软件,我们可以轻松地完成对目标芯片的编程、擦除和校验等操作。 ### 回答2: ch341a Flash25系列编程软件及驱动是一种用于编程和驱动ch341a芯片及Flash25系列闪存器件的软件包。 ch341a芯片是一种USB接口转串行接口转换芯片,广泛应用于嵌入式系统中。而Flash25系列闪存器件是一种常用的存储器件,具有高速读写、低功耗等特点。 该软件包包括了两部分内容:编程软件和驱动程序。 编程软件是专门用于对ch341a芯片和Flash25系列闪存器件进行编程操作的工具。通过该软件,用户可以对闪存器件进行擦除、写入和读取等操作,以实现对存储数据的管理和控制。 驱动程序是为了使计算机和ch341a芯片之间能够正常通信而设计的。安装好驱动程序后,计算机就能够识别和使用ch341a芯片了。 使用ch341a Flash25系列编程软件及驱动,可以方便地对Flash25系列闪存器件进行编程操作。这对于嵌入式系统的开发和调试过程中存储数据的管理非常重要。同时,安装驱动程序后,计算机能够与ch341a芯片进行正常的通信,确保数据传输的稳定性和高效性。 总之,ch341a Flash25系列编程软件及驱动是一套功能强大的工具,可以提供便捷的编程操作和稳定的通信支持,为嵌入式系统的开发和调试提供了重要的技术支持。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

li979036525

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值