【python】flask 框架

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文件的运行效果:

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Linux】进程间通信之命名管道

👦个人主页:Weraphael ✍🏻作者简介:目前正在学习c和算法 ✈️专栏:Linux 🐋 希望大家多多支持,咱一起进步!😁 如果文章有啥瑕疵,希望大佬指点一二 如果文章对…

linux centos如何安装python3版本但不能影响默认python2版本

在CentOS上安装Python3而不影响系统默认的Python2,具有如何安装呢? 1. 更新系统包 首先,确保系统包是最新的: sudo yum update -y2. 安装EPEL存储库 EPEL(Extra Packages for Enterprise Linux)存储库包含许多额外的软件包,包括Python3: sudo yum install epel-rel…

IDEA:配置Golang的开发环境

1、下载&安装 进入GO的官网下载对应的GO 我们可以下载安装版,不过本人习惯下载解压版,这个因个人而异 2、配置环境变量 GOBIN : %GOROOT%\bin GOPATH : D:\MyGo 工作区间 GOROOT : D:\Program Files\Go GOJDK地址PATH: %GOBIN% ; %GOROOT%\bin ; …

LeetCode 算法:矩阵置零c++

原题链接🔗:矩阵置零 难度:中等⭐️⭐️ 题目 给定一个 m x n 的矩阵,如果一个元素为 0 ,则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。 示例 1: 输入:matrix [[1,1,1],[1,0,1…

stm32MP135裸机编程:修改基于SD卡的FSBL-A用户程序引导程序(boot)

0 参考资料 轻松使用STM32MP13x - 如MCU般在cortex A核上裸跑应用程序.pdf stm32mp135官方开发板原理图(mb1635-bdp-v1-0.zip) STM32Cube_FW_MP13_V1.0.0 STM32CubeIDE v1.15 1 为什么需要修改FSBL-A用户程序引导程序 FSBL-A用户程序引导程序的作用在《…

PR如何让音频淡入淡出

PR如何让音频淡入淡出 方法一:效果控件关键帧方法二:音频轨道关键帧 以淡入为例,介绍如何设置淡入的两种方法,推荐使用第二种。淡出效果类似。 方法一:效果控件关键帧 选中音频,点击效果控件 在淡入结束的…

Gradio.NET 的简单入门使用

1、最近在网络上由发现了一个好完的东西。 2、Gradio.NET通过简单的C# Web API几行代码就可以实现一网页界面。 3、Python中也有一个Gradio,功能好像都差不多哦,不废话了,我们来开始实操。 4、在Visual Studio 2022 中创建一个 ASP.NET Cro…

Kimichat使用案例012:用Kimichat拆解雷军在小米汽车SU7发布会上的演讲技巧

文章目录 一、介绍二、输入内容三、输出内容四、继续追问五、继续回答六、讲解对比七、对比回答相似之处:不同之处:八、职场人士如何借鉴九、借鉴内容一、介绍 小米SU7发布会可以说是非常成功。雷军的演讲技巧是发布会成功的重要因素之一,很值得借鉴学习。 可以借助Kimichat…

dat.gui图形用户页面

一、导入 1.npm安装 npm install --save dat.gui 引入&#xff1a; // CommonJS: const dat require(dat.gui); // ES6: import * as dat from dat.gui; const gui new dat.GUI(); 二、控制器 <!DOCTYPE html> <html lang"en"> <head><…

振动分析-1-频谱分析的关键步骤及如何看频谱图

振动故障诊断——如何进行振动频谱分析 参考振动频谱分析关键步骤及分析要点 参考怎么看频谱图? 图解滚动轴承故障的频谱波形 1 频谱分析关键步骤 频谱分析准确与否取决于多个方面。 (1)设置仪器频率范围、分辨率等&#xff1b; (2)数据采集位置应根据设备的机械特性、振动传…

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

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

matlab演示银河系转动动画

代码 function GalaxyRotationSimulation()% 参数设置num_stars 1000; % 恒星数量galaxy_radius 1; % 银河系半径rotation_speed 0.05; % 旋转速度% 生成银河系中的恒星分布theta 2 * pi * rand(num_stars, 1); % 角度r galaxy_radius * sqrt(rand(num_stars, 1)); % 半径…

HTML+CSS 交互式开关按钮

效果演示 实现了一个交互式开关按钮的效果,包括一个标签和两个选项(Yes和No),当用户点击其中一个选项时,按钮会发生动画效果,同时选中的选项会被高亮显示。整个按钮的样式采用了渐变背景色、圆角边框、阴影等元素,使得按钮看起来更加美观。 Code HTML <!DOCTYPE ht…

覆盖路径规划经典算法 The Boustrophedon Cellular Decomposition 论文及代码详解

2000年一篇论文 Coverage of Known Spaces: The Boustrophedon Cellular Decomposition 横空出世&#xff0c;解决了很多计算机和机器人领域的覆盖路径问题&#xff0c;今天我来详细解读这个算法。 The Boustrophedon Cellular Decomposition 算法详解 这篇论文标题为"C…

【C++拷贝构造函数深浅拷贝】

拷贝构造函数 注意&#xff1a;访问权限是public 拷贝构造函数&#xff1a;类名&#xff08;const 类名& 对象名&#xff09;{} 可以有多个参数 。 没有常引用就是普通构造函数 如果不写&#xff0c;编译器自己会给一个&#xff08;作用仅仅是赋值&#xff0c;默认拷…

代码随想录算法训练营第三十三天| 1005.K次取反后最大化的数组和,134. 加油站,135. 分发糖果

1005. K 次取反后最大化的数组和 - 力扣&#xff08;LeetCode&#xff09; class Solution {public int largestSumAfterKNegations(int[] nums, int k) {Arrays.sort(nums);int i 0;while (i < nums.length && nums[i] < 0 && k > 0) {nums[i] num…

音程与和弦 音程协和度

2个音符之间的音程计算 1234567&#xff0c;1到7的音程是7度&#xff0c;音程是计算总长度&#xff0c;看音级的个数。 Cubase中的音程计算 下面一个是4度&#xff0c;一个是3度&#xff0c;格子中深色的行就是黑键行。 根据半音数量来确定对应音程的专业术语叫法 旋律音程、…

计蒜客:C10 第四部分:深度优先搜索基础 引爆炸弹

【C代码】 #include<bits/stdc.h> using namespace std; int n,m,ans0; char maze[501][501]; bool vis[501][501]; void dfs(int x,int y){vi…

Android平台RTMP推送|轻量级RTSP服务|GB28181接入之文字、png图片水印的精进之路

技术背景 Android平台推流模块&#xff0c;添加文字或png水印&#xff0c;不是一件稀奇的事儿&#xff0c;常规的做法也非常多&#xff0c;本文&#xff0c;我们主要是以大牛直播SDK水印迭代&#xff0c;谈谈音视频行业的精进和工匠精神。 第一代&#xff1a;不可动态改变的文…

《云原生安全攻防》-- 容器环境下的攻击行为

在本节课程中&#xff0c;我们将以攻击者的视角来深入探讨容器环境下的攻击行为&#xff0c;并揭示攻击者在容器环境中的各种攻击细节。 在这个课程中&#xff0c;我们将学习以下内容&#xff1a; 攻击容器环境&#xff1a;模拟容器内应用入侵的场景。 容器环境下的攻击行为&a…