12-总结-从 0 开始搭建框架

news2024/11/23 23:42:58

项目结构:

 

一. 安装第三方库

# 下载源:  https://pypi.tuna.tsinghua.edu.cn/simple/

pip3 install flask==2.3.2
pip3 install jinja2==3.1.2
pip install pymysql   # 保持持久化

pip install flask-script==2.0.3  # 管理应用程序
pip install flask-sqlalchemy==3.0.3  # 实现ORM映射
pip install flask-migrate==2.7.0  # 发布命令工具

二. 创建配置文件settings.py

class Config:  # 公共配置
        DEBUG = True
        # mysql + pymysql ://user:password@hostip:port/databasename
        SQLALCHEMY_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

三. 新建 apps包 

        (1). apps / __init__.py中创建Flask对象

        (2). app.py 中 包装Flask对象

 

     

四. 新建 ext包 

        (1). ext / __init__.py中 创建映射对象

        (2) apps / __init__.py中 初始化配置db

        (3). app.py 中 配置命令相关代码

五. 创建模型

        (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  # 降级: 数据库版本回退

六. 注册蓝图

        (1). apps / user / view.py 定义蓝图

        (2). apps / __init__.py中 注册蓝图

 七.  视图 / 函数

        (1). apps / user / view.py 编写视图函数

        (2). templates / user / show.html 编写视图页面

 八. 启动项目

# 终端运行
python app.py runserver

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

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

相关文章

高等数学之不定积分

由导函数推原函数就是不定积分 只是一个! 记得常数C!!! 不定积分的几何含义

基于TechGrow实现Hexo引流微信公众号

首发博客地址 https://blog.zysicyj.top/ # 前言 Hexo 博客建议安装 hexo-readmore (opens new window) 插件,将 TechGrow (opens new window) 的免费微信公众号引流工具整合到博客中,用户扫码关注微信公众号后可以解锁全站文章,让微信公众号…

基于乌燕鸥算法优化的BP神经网络(预测应用) - 附代码

基于乌燕鸥算法优化的BP神经网络(预测应用) - 附代码 文章目录 基于乌燕鸥算法优化的BP神经网络(预测应用) - 附代码1.数据介绍2.乌燕鸥优化BP神经网络2.1 BP神经网络参数设置2.2 乌燕鸥算法应用 4.测试结果:5.Matlab代…

数字的画笔:数据可视化的魅力与实用性

数据可视化是一种强大的工具,用于将复杂的数据和信息以图形化的方式呈现,以便人们更容易理解、分析和发现其中的模式和趋势。通过图表、图形和其他可视元素,数据可视化可以帮助我们将抽象的数字转化为有意义的视觉呈现,从而提升了…

QT6安装完成后,再安装低版本的MinGW或其他组件方式

首先进入点击安装的uinstall Qt 并不是真的卸载 通过下面几步 1,首先登录自己账户 2,然后进入欢迎中,点击“添加和移除组件” 3,然后检索自己需要的安装内容

MDTA模块(Restormer)

From a layer normalized tensor Y ∈ R H ^ W ^ C ^ \mathbf{Y} \in \mathbb{R}^{\hat{H} \times \hat{W} \times \hat{C}} Y∈RH^W^C^, our MDTA first generates query ( Q ) (\mathbf{Q}) (Q), key ( K ) (\mathbf{K}) (K) and value ( V ) (\mathbf{V}) (V) project…

前端基础踩坑记录

前言:在做vue项目时,有时代码没有报错,但运行时却各种问题,没有报错排查起来就很费劲,本人感悟:写前端,需要好的眼神!!!谨以此博客记录下自己的踩坑点。 一、…

vue学习之hello world

依赖引入 <script src"https://unpkg.com/vue2.6.10/dist/vue.js"></script>Hello world 实现 <html><head><style></style></head><body><script src"https://unpkg.com/vue2.6.10/dist/vue.js">…

日志搞不定?手把手教你如何使用Log4j2

系列文章目录 从零开始&#xff0c;手把手教你搭建Spring Boot后台工程并说明 Spring框架与SpringBoot的关联与区别 SpringBean生成流程详解 —— 由浅入深(附超精细流程图) Spring监听器用法与原理详解 Spring事务畅谈 —— 由浅入深彻底弄懂 Transactional注解 面试热点详解…

Keepalived+Lvs(dr)调度器主备配置小实验

目录 前言 一、实验拓扑图 二、配置LVS&#xff08;dr&#xff09;模式 三、配置调配器热备 四、测试 总结 前言 Keepalived和LVS&#xff08;Linux Virtual Server&#xff09;是两个常用的开源软件&#xff0c;通常结合使用以提供高可用性和负载均衡的解决方案。 Keepalive…

Mybatis查询一条数据

上一篇我们介绍了在pom文件中引入mybatis依赖&#xff0c;配置了mybatis配置文件&#xff0c;通过读取配置文件创建了会话工厂&#xff0c;使用会话工厂创建会话获取连接对象读取到了数据库的基本信息。 如果您需要对上面的内容进行了解&#xff0c;可以参考Mybatis引入与使用…

【指标】指标公式大全,款款经典(建议珍藏)!-神奇指标网

三、指标源码&#xff1a; 1、连续三天高开高走的选股公式 count(o〉ref(c,1&#xff09;andc>o&#xff0c;3)3&#xff1b; 2、连续3天每天的最低价都比前一天高 count&#xff08;l〉ref(c,1&#xff09;,3)3&#xff1b; 3、周量缩小50%或40&#xff05;或n&#x…

帮助中心实践方式:及时提示反馈,引导自助解决

为了及时高效的帮助用户解决当下实际问题&#xff0c;很多产品都会专门设置一个独立的产品帮助中心&#xff0c;满足客户需要获取解决方案的需要&#xff0c;减轻人工客服端压力。 帮助中心实践方式 常规的帮助中心文档和用户群&#xff0c;解决的是用户遇到问题或者疑问时&am…

Zebec Protocol:模块化 L3 链 Nautilus Chain,深度拓展流支付体系

过去三十年间&#xff0c;全球金融科技领域已经成熟并迅速增长&#xff0c;主要归功于不同的数字支付媒介的出现。然而&#xff0c;由于交易延迟、高额转账费用等问题愈发突出&#xff0c;更高效、更安全、更易访问的支付系统成为新的刚需。 此前&#xff0c;咨询巨头麦肯锡的一…

基于纵横交叉算法优化的BP神经网络(预测应用) - 附代码

基于纵横交叉算法优化的BP神经网络&#xff08;预测应用&#xff09; - 附代码 文章目录 基于纵横交叉算法优化的BP神经网络&#xff08;预测应用&#xff09; - 附代码1.数据介绍2.纵横交叉优化BP神经网络2.1 BP神经网络参数设置2.2 纵横交叉算法应用 4.测试结果&#xff1a;5…

基于grpc从零开始搭建一个准生产分布式应用(5) - MapStruct传输对象转换

分层设计中上下游间接口调用时&#xff0c;如果接口方法参数很多最好的方式是包装一个对象。但每层都有自己专用的对象&#xff0c;比如vo、bo、po等。在对象转换时需要写大量的getter和setter方法或是用deepCopy简化代码&#xff0c;但无论哪种都少不了大量的代码。 这里我们会…

linux+c+qt杂记

虚拟机网络选择&#xff1b; 桥接模式&#xff1a;设置window宿主机的IP/dns,把虚拟机设置为桥接即可。 切换到终端&#xff1a;我的是 ctrlaltFnF1&#xff1f; 问题解决&#xff1a; Ubuntu系统下载&#xff08;清华大学开源软件镜像站&#xff09;&#xff08;ubuntu-20.…

使用easyExcel导入导出Date类型的转换问题

起因&#xff1a;在业务需求上需要将Excel表中的日期导入&#xff0c;存储到数据库中&#xff0c;但是entity中的日期类型使用Date来接收&#xff0c;这样导致时间精确到秒。这时&#xff0c;即使使用DateTimeFormat("yyyy-MM-dd")也无法成功转换&#xff0c;会报如下…

第4篇:vscode+platformio搭建esp32 arduino开发环境

第1篇:Arduino与ESP32开发板的安装方法 第2篇:ESP32 helloword第一个程序示范点亮板载LED 第3篇:vscode搭建esp32 arduino开发环境 1.配置默认安装路径&#xff0c;安装到D盘。 打开环境变量&#xff0c;点击新建 输入变量名PLATFORMIO_CORE_DIR与路径&#xff1a;D:\PLATF…

javafx应用程序线程异常Exception in thread “JavaFx Application Thread“

前几天用javafx做小桌面应用程序出现了一个问题&#xff1a; 反复检查&#xff0c;最终确定报错的原因是UI刷新频率过快导致的 javafx提供了Platform.runLater用于解决该问题&#xff1a; Platform.runLater(new Runnable() {Overridepublic void run(){//用Platform.runLate…