【python】flask 框架

news2025/1/18 3:47:55

python flask 框架

flask是一个轻量级的python后端框架 (Django, tornado, flask)

官网:欢迎来到 Flask 的世界 — Flask中文文档(3.0.x)
安装:pip install Flask -i https://pypi.douban.com

常识:
http,默认端口号为80;
https,默认端口号为443;
ftp,默认端口号为21;
ssh,默认端口号为22;
telnet,默认端口号为23;
smtp,默认端口号为25;

1、flask路由
(1)原理介绍

我把网址信息rul发给web服务器,web服务器把回答信息返回到我电脑的浏览器,我电脑的浏览器再进行渲染后,服务器的返回信息就在我电脑的浏览器中显示出来了。这个过程中,服务器端的路由是用来匹配客户都的url和服务器端的程序的。实现过程如下:

可见:flask框架帮我们打包web服务的很多中间环节,比如flask路由就帮我们打包了像传输方式、几次握手等一些非常底层的东西。我们只需要第1、2、8这三行代码就可以了。

(2)细节介绍

上图C处可以返回html中的元素,那我们就干脆返回一个html页面文件:

是不是就返回了一个页面,当然这个页面有点简单,你想要很复杂的页面,就得移驾去学html、css、js等这些东西。


我们在地址栏输入网址的请求就是GET请求
前端页面中比如输入账号密码之类的就是表单,当前端表单请求后端代码时(比如前端表单将数据交给后端代码,让后端代码验证用户名和密码是否正确,并且给前端返回正确或不正确的信息),此时就是POST请求

2、request对象
request对象包含了前端发送到后端的所有请求数据。这些请求数据中,比如就可能有form表单请求。而form表单的请求就是POST请求。

3、重定向
302状态就是重定向。就是跳转到别的网页。

4、后端返回json类型数据给前端

5、抛出异常
abort:在网页当中抛出异常

6、模板的基本使用
一些html前端页面都存在模板中。jinja2语法是专门针对模板的。

7、form表单
表单可以在前端写,就是在html前端代码中写,我们前面有过例子。但是表单也可以在后端写,后端写就要用到flask中的twform。但是前端写的化,表单的功能会更多一点,后端稍逊。
pip install WTForms
pip install Flask-WTF

8、flask数据库

(1)先在你的windows上安装一个mysql数据库,安装主要步骤如下:
 (2)windows版的mysql安装完毕后,登录mysql,创建一个名字叫flaskdb的数据库:

(3)在flask项目文件环境中安装下面的包:
pip install flask-sqlalchemy
pip install PyMySQL
(4)编写app.py文件:

(5)app.py文件的运行效果:

再后面就是数据库的增删改查了,内容比较细碎,这里就不继续写了。 

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

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

相关文章

攻防世界---misc---embarrass

1、下载附件是一个数据包 2、用wireshark分析 3、ctrlf查找字符 4、 flag{Good_b0y_W3ll_Done}

[Algorithm][动态规划][完全背包问题][零钱兑换][零钱兑换Ⅱ][完全平方数]详细讲解

目录 1.零钱兑换1.题目链接2.算法原理详解3.代码实现 2.零钱兑换 II1.题目链接2.算法原理详解3.代码实现 3.完全平方数1.题目链接2.算法原理详解3.代码实现 1.零钱兑换 1.题目链接 零钱兑换 2.算法原理详解 思路: 确定状态表示 -> dp[i][j]的含义 dp[i][j]&am…

Python学习笔记速成版

数据容器 列表的方法-总览 具体操作 元组 定义 相关操作 注意事项 特点 字符串 总览 常用操作 特点 序列 定义 切片操作 Set集合 总览 定义 常用操作 注意事项 字典 总览 定义 常用操作 获取 嵌套 其他操作 summary 通用操作 字符串大小比较 函数进阶 多个返回值 多种传…

关闭windows11磁盘地址栏上的历史记录

关闭windows11的磁盘地址栏上的历史记录 windows11打开磁盘后访问某一个磁盘路径后会记录这个磁盘路径,而且有时候会卡住这个地址栏(关都关不掉),非常麻烦。 如下图所示: 关闭地址栏历史记录 按下windows键打开开…

#15松桑前端后花园周刊-Turborepo 2.0、ESLint v9.4.0、重新学习promise、CSS gap

⚡️行业动态 ESLint 推出了一个新的 ESLint 配置迁移器 ESLint 用户没有升级到 ESLint v9.x 的最大原因之一是迁移配置文件似乎很困难和复杂。因此 Eslint 推出eslint/migrate-config支持将. eslintrc 文件迁移到 eslint.config.js,以帮助用户提高配置文件的速度。…

Qt——升级系列(Level Five):显示类控件、输入类控件、多元素控件、容器类控件、布局管理器

显示类控件 Label QLabel 可以⽤来显⽰⽂本和图⽚. 核⼼属性如下: 属性 说明 text QLabel 中的⽂本 textFormat ⽂本的格式. • Qt::PlainText 纯⽂本 • Qt::RichText 富⽂本(⽀持 html 标签) • Qt::MarkdownText markdown 格式 • Qt::AutoText 根…

MySQL—多表查询—练习(2)

一、引言 接着上篇博客《 MySQL多表查询——练习(1)》继续完成剩下的案例需求。 二、案例 (0)三张表(员工表、部门表、薪资等级表) 员工表:emp 部门表:dept 薪资等级表:…

[Leetcode]同时进行正向和逆向迭代匹配解决回文链表问题

题目链接:234. 回文链表 - 力扣(LeetCode) 题目: 题解: currentNode 指针是先到尾节点,由于递归的特性再从后往前进行比较。frontPointer 是递归函数外的指针。若 currentNode.val ! frontPointer.val 则返回 false。…

从零开始搭建Electron项目(二)之例程解析

本专栏,前面学习了怎么下载例程并运行。 这里解析例程的构成 从零开始搭建Electron项目之运行例程-CSDN博客文章浏览阅读22次。最好的学习方式就是:给一段能够运行的代码示例。本文给出了例程资源,以及运行的步骤。在国内开发electron有一点特…

leetcode刷题记录35-419. 甲板上的战舰

问题描述 给你一个大小为 m x n 的矩阵 board 表示甲板,其中,每个单元格可以是一艘战舰 X 或者是一个空位 . ,返回在甲板 board 上放置的 战舰 的数量。 战舰 只能水平或者垂直放置在 board 上。换句话说,战舰只能按 1 x k&#x…

LW-DETR:实时目标检测的Transformer, Apache-2.0 开源可商用,论文实验超 YOLOv8

LW-DETR:实时目标检测的Transformer, Apache-2.0 开源可商用,论文实验超 YOLOv8 LW-DETR 架构实例化高效训练高效推理 目的与解法拆解ViT编码器和DETR解码器多级特征图聚合变形交叉注意力窗口注意力和全局注意力 论文:https://arx…

C语言:结构体数组

结构体数组 介绍定义结构体定义结构体数组初始化结构体数组访问和修改结构体数组的元素遍历结构体数组 示例高级用法动态分配结构体数组使用 malloc 动态分配使用 calloc 动态分配 结构体数组作为函数参数结构体数组与指针多维结构体数组使用 typedef 简化结构体定义结构体数组…

【EDA】SSTA中最慢路径与最快路径统计计算

假设(X1,X2)为二元高斯随机向量,均值(μ1,μ2),标准差(σ1,σ2),相关系数ρ 定义:Xmax(X1,X2&…

Keil软件仿真的使用

一、软件的初始化设置 初始设置可以按照下图,这里我使用的是STM32F103C8T6,所以单片机型号为STM32F103C8,这个设置在Debug目录下。然后进行时钟的设置,我们板上晶振为8M,这里将时钟改为8. 或许有人想问如果是别的型号单…

JavaScript基础用法(变量定义、输入输出、转义符、注释和编码规范)

天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。…

基于ensp的园区网络搭建综合实验

核心技术介绍 1、虚拟局域网(VLAN) 2、链路聚合(E-trunk) 3、多生成树协议(MSTP) 4、VLANIF三层逻辑接口 5、虚拟路由冗余协议(VRRP) 6、开放式最短路径优先(OSPF&…

C语言:(动态内存管理)

目录 动态内存有什么用呢 malloc函数 开辟失败示范 free函数 calloc函数 realloc函数 当然realooc也可以开辟空间 常⻅的动态内存的错误 对NULL指针的解引⽤操作 对动态内存开辟的空间越界访问 对⾮动态开辟内存使⽤free释放 使⽤free释放⼀块动态开辟内存的⼀部分 …

G盘文件系统损坏:全面解析与应对策略

在数字时代,数据的重要性不言而喻。然而,G盘文件系统损坏却时常给我们的数据安全带来威胁。当G盘文件系统受损时,可能导致文件丢失、数据无法访问等严重后果。本文将深入探讨G盘文件系统损坏的现象、原因、恢复方案以及预防措施,帮…

Java学习-JDBC(四)

连接池 现有问题 每次操作数据库都需要重新获取新连接,使用完毕后需close释放,频繁的创建和销毁造成资源浪费连接的数量无法把控,对服务器造成巨大压力 连接池 连接池是数据库连接对象的缓冲区,通过配置,由连接池负…

刷机维修进阶教程-----红米k30 nv损坏故障 修复实例教程步骤解析

小米红米系列机型在米8起始就有了串码校验。不得随意更改参数限制。不同于其他机型,可以任意刷入同芯片的基带qcn来修复基带和串码丢失。米系列刷入同芯片基带qcn会提示nv损坏故障。是因为有串码校验。一般在于格机或者全檫除分区后写新参数出现的故障。 这种解决方法通常有两…