【Python百日进阶-WEB开发-冲進Flask】Day183 - Flask数据库ORM基础、增加

news2025/8/11 18:54:55

文章目录

  • 一、day03项目环境和结构搭建
    • 1.1 flask-script
      • 1.1.1 flask-script是干什么的?
      • 1.1.2 flask-script安装
      • 1.1.3 flask-script的使用
        • 1.1.3.1 创建Manager实例
        • 1.1.3.2 初始化实例出错与解决
      • 1.1.4 终端启动
        • 1.1.4.1 查看runserver参数
      • 1.1.5 自定义添加manager命令
        • 1.1.5.1 装饰器添加命令
        • 1.1.5.2 使用自定义命令
    • 1.2 安装Mysql数据库引擎
      • 1.2.1 安装pymysql
      • 1.2.2 VC_redist.x64.exe
      • 1.2.3 安装numpy+mkl
      • 1.2.4 安装flask-sqlalchemy
  • 二、后端知识要点
    • 2.1 数据库
  • 三、前端知识要点
  • 四、项目完整代码
    • 4.1 项目目录结构
    • 4.2 后端代码
      • 4.2.1 配置文件settings.py
      • 4.2.2 项目启动app.py
      • 4.2.3 user包初始化__init__.py
      • 4.2.4 user子应用model.py
      • 4.2.85 user子应用视图view.py
    • 4.3 前端代码
      • 4.3.1 项目基础母版base.html
      • 4.3.2 user子应用注册页面register.html
      • 4.3.3 user子应用用户展示页面
      • 4.3.4 user子应用用户更新页面update.html

一、day03项目环境和结构搭建

1.1 flask-script

flask-script官方文档:https://flask-script.readthedocs.io/en/latest/
在这里插入图片描述

1.1.1 flask-script是干什么的?

  • Flask的Web开发服务器支持很多启动设置选项,但只能在脚本中作为参数传给app.run()函数。这种方式很不方便,传递设置选项的理想方式是使用命令行参数。
  • Flask-Script就是这么一个Flask扩展工具,为Flask程序添加一个命令行解析器。简单地说,Flask-Script的作用就是可以通过命令行的形式来操作Flask。如,通过命令行跑一个开发版本的服务器、设置数据库等。

1.1.2 flask-script安装

pip install -i https://mirrors.aliyun.com/pypi/simple flask-script

1.1.3 flask-script的使用

1.1.3.1 创建Manager实例

from apps import create_app
from flask_script import Manager

app = create_app()
# Manager实例化只有一个参数——Flask实例
manager = Manager(app=app)

1.1.3.2 初始化实例出错与解决

  1. 错误提示
Traceback (most recent call last):
  File "E:\VirtualEnv\RushInFlask\day03\app.py", line 2, in <module>
    from flask_script import Manager
  File "E:\VirtualEnv\RushInFlask\lib\site-packages\flask_script\__init__.py", line 15, in <module>
    from flask._compat import text_type
ModuleNotFoundError: No module named 'flask._compat'

在这里插入图片描述
2. 解决方法一:
Flask版本降低到1.1.2

pip install flask==1.1.2
  1. 解决方法二:
    保持Flask2版本不变,修改E:\VirtualEnv\RushInFlask\lib\site-packages\flask_script_init_.py 第15行代码
from flask._compat import text_type

修改为

from flask_script._compat import text_type

在这里插入图片描述

1.1.4 终端启动

python app.py runserver -p 5002

1.1.4.1 查看runserver参数

python app.py runserver --help

在这里插入图片描述

1.1.5 自定义添加manager命令

1.1.5.1 装饰器添加命令

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

1.1.5.2 使用自定义命令

python app.py init

在这里插入图片描述

1.2 安装Mysql数据库引擎

1.2.1 安装pymysql

pip install -i https://mirrors.aliyun.com/pypi/simple pymysql

在这里插入图片描述

1.2.2 VC_redist.x64.exe

在这里插入图片描述

1.2.3 安装numpy+mkl

  1. 升级pip: python.exe -m pip install --upgrade pip
  2. 下载numpy+mkl:https://download.lfd.uci.edu/pythonlibs/x6hvwk7i/numpy-1.22.2+mkl-cp310-cp310-win_amd64.whl
  3. 安装:pip install numpy-1.22.2+mkl-cp310-cp310-win_amd64.whl

1.2.4 安装flask-sqlalchemy

pip install -i https://mirrors.aliyun.com/pypi/simple flask-sqlalchemy

在这里插入图片描述

二、后端知识要点

2.1 数据库

三、前端知识要点

四、项目完整代码

4.1 项目目录结构

4.2 后端代码

4.2.1 配置文件settings.py

4.2.2 项目启动app.py

4.2.3 user包初始化__init__.py

4.2.4 user子应用model.py

4.2.85 user子应用视图view.py

4.3 前端代码

4.3.1 项目基础母版base.html

4.3.2 user子应用注册页面register.html

4.3.3 user子应用用户展示页面

4.3.4 user子应用用户更新页面update.html

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

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

相关文章

ARM-A架构入门基础(二)异常处理

14天学习训练营导师课程&#xff1a;周贺贺《ARMv8/ARMv9架构-快速入门》 1. 异常处理种类 1.1 中断 在ARM中&#xff0c;FIQ的优先级要高于IRQ&#xff0c;在SOC内部会有一个中断控制器负责中断优先级调度&#xff0c;然后发送中断信号给处理器。中断属于异步模式的异常。 …

Python定时打开世界杯直播,还有小姐姐语音提醒哦~不错过每一场世界杯比赛

前言 卡塔尔世界杯今晚0点就要开幕了&#xff0c;为了防止大家沉迷工作&#xff0c;忘记看球&#xff0c;小编用50行Python代码写了一个定时提醒你看球的小程序&#xff0c;还有小姐姐语音提醒哟~&#x1f387; &#xff08;文末送读者福利&#xff09; 1、代码说明 获取上…

Redmine 插件 实现富文本编辑,可插入表格和

基本介绍 Redmine 插件将“所见即所得"的UEditor富文本编辑器完美移植到了Redmine。UEditor具有界面美观、功能丰富、注重用户体验的特点&#xff0c;使用方法比CKeditor更为简便。 该插件在redmine现有的文本编辑模式上添加WYSIWYG所见即所得编辑功能。 Redmine UEditor主…

功能测试如何进阶自动化测试?5个步骤带你成功进阶...

手动测试人员应该权衡测试自动化相对于手动测试的好处&#xff0c;并且即可开始行动。下面我介绍一下从手动测试到自动化测试转换的5步指南。 步骤1: 查找合适的自动化测试用例 测试自动化在重复测试中发挥着极其重要的作用。可以在下表中找到最适合自动化的测试类型列表。 测…

【学习笔记20】JavaScript数据类型之间的区别

一、数据类型 基本数据类型复杂数据类型 (function; object; array)二、存储的区别 基本数据类型: 存储在栈内存中, 变量内部就是实际的值引用数据类型: 变量存储在栈内存中, 变量内部存储的是指向堆内存的地址(对象实际的值, 存储在堆内存中)三、赋值的区别 1. 基本数据类型: …

Linux零基础从入门到精通,必学的55个指令合集【下篇】

Linux学习笔记 资料下载&#xff1a; 链接: https://pan.baidu.com/s/1UvwkJaEJO7W3sU5qkCgKzA?pwdfe2f提取码: fe2f 本篇文章主要适用0基础的读者&#xff0c;内容会比较通俗易懂&#xff0c;也会有详细的图解教程&#xff0c;以及运行后的返回结果。我本人在系统性的学习…

Rsync已过时?替代文件同步方式了解一下

随着企业结构分散化的不断扩大&#xff0c;企业内部和企业间的信息互动更加频繁。越来越多的企业要求内部各种业务数据在服务器、数据中心甚至云上能够有实时的同步留存。所以&#xff0c;企业需要文件同步软件&#xff0c;通过在两个或更多设备之间同步数据并自动更新更改来确…

零时科技 || 分布式资本创始人4200万美金资产被盗分析及追踪工作

事件背景 2022年11月23日&#xff0c;分布式资本创始人沈波发推文称&#xff0c;价值4200万美元的个人钱包资产被盗&#xff0c;其中包含 3800 万枚 USDC和1606 枚 ETH&#xff0c;在纽约时间 11 月 10 日凌晨被盗。被盗资产为个人资金&#xff0c;与分布式相关基金无关。目前…

【学习笔记16】JavaScript函数封装习题

笔记初发 1、书写一个函数, 求任意两个数字的和, 把结果以弹窗的形式展示 书写一个函数需要参数吗?            -->需要需要几个参数?         —>两个函数要做什么?         -->求和然后弹窗的形式展示    -->alert(弹窗展示的值…

Area of a circle

In geometry, the area enclosed by a circle of radius r is πr2. Here the Greek letter π represents the constant ratio of the circumference of any circle to its diameter, approximately equal to 3.14159. One method of deriving this formula, which originate…

【矩阵论】4. 矩阵运算——张量积

4.2 张量积 4.2.1 定义 设A(aij)mn,B(bij)pq,则称如下分块矩阵(a11Ba12B⋯a1nBa21Ba22B⋯a2nB⋮⋮⋱⋮an1Ban2⋯ann)为A与B的张量积记作A⊗B(aijB)mpnq\begin{aligned} &设A(a_{ij})_{m\times n},B(b_{ij})_{p\times q},则称如下分块矩阵\left( \begin{matrix} a_{11}B&am…

【Dense Res2net:两个非局部注意模型:IVIF】

Res2Fusion: Infrared and Visible Image Fusion Based on Dense Res2net and Double Nonlocal Attention Models &#xff08;Res2Fusion: 基于密集Res2net和双非局部注意模型的红外和可见光图像融合&#xff09; 红外和可见光图像融合旨在生成具有出色场景表示和更好视觉感…

Zabbix最新6.2安装及使用!

zabbix官网 Zabbix 是由 Alexei Vladishev 创建&#xff0c;目前是由 Zabbix SIA 在持续开发和提供支持。 Zabbix 是一款能够监控众多网络参数和服务器的健康度和完整性的软件。Zabbix 使用灵活的通知机制&#xff0c;允许用户为几乎任何事件配置基于邮件的警报。这样可以快速…

数字赋能之学生返乡报备登记管理系统

年关将至&#xff0c;不少高校即将开启寒假模式了。对于不少地方而言&#xff0c;第一批返乡高潮快要到来了。当前&#xff0c;国内疫情防控形势异常严峻&#xff0c;且多地发生外返大学生初筛阳性&#xff0c;为切实保障广大返乡大学生及家人、朋友的身体健康&#xff0c;各个…

MYSQL 基本操作 (2)

分组查询和聚合查询&#xff1a; group by (列名) 根据查询的结果来进行分组&#xff0c;值相同的记录分到一组&#xff0c;然后针对每一组进行聚合。 目前表中&#xff0c;对容易一行进行分组操作都会去除重复名字项&#xff0c;同时将重复项打包进改组&#xff0c;例如&…

TingsBoard源码解析-登录认证-OAuth2认证

配置类&#xff1a;ThingsboardSecurityConfiguration 用户名密码登录 用户名密码登录请求URL: /api/auth/login 配置中发现&#xff1a;在默认的用户名密码认证之前添加了认证拦截器【RestLoginProcessingFilter】&#xff0c;而该拦截器拦截将拦截用户名密码登录请求&#x…

项目管理证书 PMP 的含金量高吗?

PMP 含金量&#xff0c;PMP有没有用&#xff0c;这类问题一直是大家关注的重点&#xff0c;知乎上几个相关问题热度也一直很高。 作为有 7 年项目经验的 PMP 持证者&#xff0c;我要跟大家说句实话&#xff1a; PMP 最基础的是项目管理领域的一个资格认证证书&#xff0c;相当…

FastDFS分布式文件系统

FastDFS分布式文件系统 FastDFS是由国人开发的针对中小文件存储的轻量级分布式文件系统&#xff0c;使用C语言进行开发&#xff0c;效率高、跨平台&#xff0c;可以在类UNIX系统上很好运行。整体设计以简单高效为原则&#xff0c;具有冗余备份、负载均衡、在线扩容等性能。 F…

开源生态企业反哺GitLink确实开源创新服务--DevOps引擎合作

日前&#xff0c;建木正式入驻到GitLink引擎模块下。 建木是DevOps领域的小能手&#xff0c;而GitLink又致力于提供强大的开源基础设施&#xff0c;双方可谓一拍即合&#xff0c;强强联手为开发者提供更愉悦、更轻松的研发体验&#xff01; GitLink&#xff08;确实开源&#…

Android结构优化 - Java、Kotlin项目结构分包

随着Android中 Java、Kotlin 的混编开发场景越来越多&#xff0c;其中大多人都会将 java文件 和 kt文件 放在同一个资源文件夹下&#xff0c;在项目越来越大的情况下&#xff0c;我们进行代码查询、项目重构、优化都不太便捷&#xff0c;所以本篇主要记录通过 kotlin分包、java…