11-Manager 和 模型Model

准备工作:

一. Manager 库:

Manager: 用于管理相关操作端命令和使用相关操作端命令

        (1). 安装flask-script: pip install flask-script==2.0.3

        (2). 在app.py中 包装 app

from apps import create_app# Manager类用于管理相关操作端命令和使用相关操作端命令
from flask_script import Manager# 创建app对象
app = create_app()
manager = Manager(app=app) # 重新包装appif __name__ == '__main__':# app.run()manager.run() # manager运行方式

        (3). 使用命令在终端运行:

python app.py runserver
python app.py runserver -h 0.0.0.0 -p 8080

       (4). 拓展:  在app.py中 自定义 manager命令

from apps import create_app
from flask_script import Managerapp = create_app()
manager = Manager(app=app)# 自定义添加命令
@manager.command
def init():print("初始化")if __name__ == '__main__':manager.run()# 终端运行: python app.py init

           

二. 数据库相关库 和 配置:

        (1). 安装第三方库文件

                        pip install pymysql     : 保持持久化
                        pip install flask-sqlalchemy==3.0.3  : 实现ORM映射
                        pip install flask-migrate==2.7.0   : 发布命令工具

        (2). settings.py中配置数据库地址
# 配置文件
class Config:  # 定义父类当做公共配置DEBUG = True# mysql + pymysql ://user:password@hostIp:port/databasenameSQLALCHEMY_DATABASE_URI = 'mysql+pymysql://root:root@127.0.0.1:3306/flaskday05'SQLALCHEMY_TRACK_MODIFICATIONS = False  # 忽略警告SQLALCHEMY_ECHO = True  # 开发调试class DevelopmentConfig(Config):  # 开发环境ENV = "development"class ProductionConfig(Config):  # 生产环境ENV = 'production'DEBUG = False
        (3). 创建ext包 ,编辑__init__.py ,创数据库的建映射对象

        (4). 编辑apps / __init__.py,将db数据库映射对象与app进行关联

        (5). 编辑app.py 创建数据库的映射关系

 

 Model模型(数据库):

类和表对应关系:

                ORM   --> 
                类对象    -->  表中的一条数据

        (1).在apps / user 创建models.py文件,创建模型类

        (2). 在app.py中导入模型类

        (3). 在终端使用命令生成表

python app.py db init       # 产生一个文件夹 migrations,只需执行一次
python app.py db migrate    # 迁移: 自动生成一个版本文件,在migrations/version生成一个.py文件
python app.py db upgrade    # 同步: 生成数据库表python app.py db downgrade  # 降级: 数据库版本回退

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/58320.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Unity实现UI图片面板滚动播放效果第二弹

效果: 场景结构: 特殊物体:panel下面用排列组件horizent layout group放置多个需要显示的面板,用mask遮罩好。 主要思路: 这次是要在最后一个toggle的地方,依然向左滚动回1,这是难点。因此实际…

目标检测项目中,使用python+xml.etree.ElementTree修改xml格式标注文件中的类别名称

需求: 数据集的数据增强中,有时需要将xml标注文件中的类别做修改为新类别,或者将几个类别合并为一个类别。 解决方法: 使用pythonimport xml.etree.ElementTree将xml标注文件中的类别名称做修改。代码如下&…

CTFhub-sqli注入-报错注入

用到的函数 updatexml(1, ,1) concat(0x7e, ,0x7e) group_concat(目标值) right(,32) 1 1 1 union select updatexml(1,concat(0x7e,database(),0x7e),1) 1 union select updatexml(1,concat(0x7e,(select(group_concat(ta…

Elasticsearch基础

1、简介 Elasticsearch是实时的分布式搜索分析引擎,内部使用Lucene做索引与搜索。 何谓实时?新增到 ES 中的数据在1秒后就可以被检索到,这种新增数据对搜索的可见性称为“准实时搜索”。分布式意味着可以动态调整集群规模,弹性扩…

ZIP压缩文件如何设置密码保护?

想要保护ZIP压缩文件,我们可以设置打开密码,下面来说说设置ZIP文件密码的两种方法。 方法一:单次设置打开密码 如果只需要对当前的ZIP压缩包进行加密,我们可以单独设置这个压缩包的密码。 使用WinRAR压缩文件的时候可以同时设置…

Redis下载与安装

文章目录 Redis简介下载,安装和配置(cmd)图形化工具 Redis 简介 下载,安装和配置(cmd) 开启redis服务 1.在解压出来的文件夹中打开cmd 2.输入 redis-server.exe redis.windows.conf即可开启服务 可以看到…

day25 | 216.组合总和III、 17.电话号码的字母组合

目录: 解题及思路学习 216. 组合总和 III 找出所有相加之和为 n **的 k ****个数的组合,且满足下列条件: 只使用数字1到9每个数字 最多使用一次 返回 所有可能的有效组合的列表 。该列表不能包含相同的组合两次,组合可以以任…

ElasticSearch总结

ES是什么 ES是一个天生支持分布式的搜索、聚合分析的存储引擎 基于Java开发 基于Lucene的开源分布式搜索引擎 ELK : elasticSearch Logstah Kibana 加入 Beats 后 ELK 改为 :Elastic stack ES解决了什么问题 ES解决的核心问题 : 1.海量数…

Linux Day11---mbash项目(二)

观看本文之前请先阅读Linux Day10的相关内容 1.touch 1.1 open系统调用 int open(const char*path,int oflags,mode_t mode); oflags参数: O_APPEND:把写入数据追加在文件的末尾 O_TRUNC:把文件长度设置为0,丢弃已有的内容 O_CREAT:如果需要&#…

vue使用Bootstrap的详细方法

要在Vue中使用Bootstrap,您可以按照以下步骤进行操作: 安装Bootstrap:首先,您需要安装Bootstrap。您可以使用npm或者yarn来安装Bootstrap。打开终端,并在项目的根目录中运行以下命令: npm install bootst…

如何自己实现一个丝滑的流程图绘制工具(一)vue如何使用

背景 项目需求突然叫我实现一个类似processOn一样的在线流程图绘制工具。 这可难倒我了,立马去做调研,在github上找了很多个开源的流程图绘制工具, 对比下来我还是选择了 bpmn-js 原因: 1、他的流程图是涉及到业务的&#xff0c…

Qt 入门实战教程(目录)

为何我要写Qt入门教程 前置课程 《C自学精简实践教程》 教程特点 1 面向企业开发,你在这里学到的任何一步操作,都会直接在企业里用到。 2 注重设计思路训练,抽象分析问题的能力。 Qt 安装 1.1 Windows Qt 5.12.10下载与安装 1.2 我们…

idea上利用JDBC连接MySQL数据库(8.1.0版)

1.了解jdbc概念 JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种 关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建 更高级的工具和接口&#…

顺序表链表OJ题(3)——【数据结构】

W...Y的主页 😊 代码仓库分享 💕 前言: 今天是链表顺序表OJ练习题最后一次分享,每一次的分享题目的难度也再有所提高,但是我相信大家都是非常机智的,希望看到博主文章能学到东西的可以一键三连关注一下博主…

电脑相关命令

查看window版本 winR后输入winver命令可以查看windows版本 查看ip地址 winR后输入ipconfig查看本地的ip地址

数据库

表 记录:行 字段(属性): 列 以行列的形式就组成了表(数据存储在表中) 关系数据库的表由记录组成,记录由字段组成,字段由字符或数字组成。它可以供各种用户共享, 具有最小冗余度和较高…

Leetcode刷题:395. 至少有 K 个重复字符的最长子串、823. 带因子的二叉树

Leetcode刷题:395. 至少有 K 个重复字符的最长子串、823. 带因子的二叉树 1. 395. 至少有 K 个重复字符的最长子串算法思路参考代码和运行结果 2. 823. 带因子的二叉树算法思路参考代码和运行结果 1. 395. 至少有 K 个重复字符的最长子串 题目难度:中等 标签&#…

ubuntu 22.04 LTS openai triton 安装

第一种方法: pip install triton 第二种方法,安装最新的版本: pip install -U --index-url https://aiinfra.pkgs.visualstudio.com/PublicPackages/_packaging/Triton-Nightly/pypi/simple/ triton-nightly 第三种方法: git c…

大模型+学习机,是概念游戏还是双向奔赴?

众所周知,2023年上半年大模型概念炙手可热。各大科技公司纷纷卷入,或宣称布局相关领域,或率先官宣自研大模型。而随着资本市场对大模型概念的热情有所消退,属于这片战场的新一轮角逐慢慢聚焦在了技术的落地应用上。 8月15日&#…

谈谈光纤通信技术

目录 1.什么是光纤 2.光纤通信的优势 3.光纤通信的应用领域 4.光纤通信带来的技术变革 5.光纤通信未来的发展方向 1.什么是光纤 光纤是一种使用光信号传输数据的通信线路。它由纤维材料制成,通常采用玻璃或塑料。光纤具有非常小的直径,可以将光信号…