Flask—学习笔记

python的flask框架入门,学习笔记 课程链接:2024版-零基础玩转Python Flask框架-学完可就业_哔哩哔哩_bilibili项目目录结构: 没有开启该模式,网页不会即时渲染,需要关闭程序重新运行;开启debug后可以即时渲染,只要保存即可,ctrl+s如果开发的时候出现bug,在浏览器上就可以看到出错信息开启:PyCharm 中选择Edit configuirations,在弹出的界面中勾选debug另一种debug开启方式是直接在程序中修改: 主要作用:让别的电脑访问你的flask项目主要的左右:防止端口被占 阅读详情

概述

  • Flask是一个用Python编写的Web应用程序框架。
  • Flask基于Werkzeug WSGI工具包和Jinja2模板引擎。
  • Flask也被称为“microframework”,因为它使用简单的核心,用extension增加其他功能。
  • Flask没有默认使用的数据库、窗体验证工具。

Web Framework
Web Application Framework(Web应用程序框架)或简单的Web Framework(Web框架)表示一个库和模块的集合,使用Web应用程序开发人样能够编写应用程序,而不必担心协议,线程管理等低级细节。

Flask
Flask是一个用Python编写的Web应用程序框架。Flask基于Werkzeug WSGI工具包和Jinjia2模板引擎。

Werkzeug
Werkzeug是一个WSGI工具包,它实现了请求,响应对象和实用函数。这使得能够在其上构建Web框架。

Jinja2
Jinja2是Python的一个流行的模板引擎。Web模板系统将模板与待定数据源组合以呈现动态网页。

安装

pip3 install flask --user

应用

# hello.py
from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello World'
if __name__ == '__main__':
    app.run()
  • Flask 类的一个对象是WSGI应用程序。
  • Flask构造函数使用当前模块(name)的名称作为参数。
  • Flask类的route()函数是一个装饰器,告诉应用程序哪个URL应该调用相关的函数。
app.route(rule, options)
# rule 参数表示与该函数的URL绑定
# options是要转发给基础rule对象的参数列表

在上面的示例中,’/'URL与hello_world()函数绑定。因此,当在浏览器中打开web服务器的主页时,将呈现该函数的输出。

  • Flask类的run()方法在本地开发服务器上运行应用程序。
app.run(host, port, debug, options)
#host 要监听的主机名,默认为127.0.0.1(localhost)。设置为0.0.0.0以使服务器在外部可用。
# port 默认为5000
#debug 默认为false,如果设置为True,则提供调试信息。
#potions 要转发到底层的Werkzeug服务器

在这里插入图片描述
在这里插入图片描述

HTTP方法

HTTP协议是万维网中数据通信的基础。在该协议中定义了从指定URL检索数据的不同方法。

  • GET 以未加密的形式将数据发送到服务器,最常见的方法。
  • HEAD 和GET方法相同,但是没有响应体。
  • POST 用于将HTML表单数据发送到服务器。POST方法接收的数据不由服务器缓存。
  • PUT 用上传的内容替换目标资源的所有当前表示。
  • DELETE 删除由URL给出的目标资源的所有当前表示。

示例

  • 登录脚本
<html>
   <body>
      <form action = "http://10.27.1.202:5000/login" method = "post">
          <p>Enter Name:</p>
          <p><input type = "text" name = "nm" /></p>
          <p><input type = "submit" value = "submit" /></p>
      </form>
   </body>
</html>
  • 服务器端代码
from flask import Flask,request, url_for, redirect
app = Flask(__name__)

@app.route('/success/<name>')
def success(name):
    return 'welcome %s' % name

@app.route('/login', methods = ['POST', 'GET'])
def login():
    if request.method == 'POST':
        user = request.form['nm']
        print(user)
        return redirect(url_for('success', name = user))
    else:
        user = request.args.get('nm')
        print(user)
        return redirect(url_for('success', name = user))
        
if __name__ == '__main__':
    app.run(host="0.0.0.0", port=5000, debug=True)
  • 运行服务器段代码
    在这里插入图片描述
  • 用浏览器打开登录脚本
    在这里插入图片描述
  • 输入字符串
    在这里插入图片描述
  • 点击“submit”,会自动跳转到如下界面
    在这里插入图片描述

参考资料

Flask 教程
欢迎使用 Flask

SFF-8654接口引脚定义全解析:从SAS到U.2的高速硬件连接核心 在高速数据存储与传输领域,接口标准是连接主机与存储设备、确保信号完整性与协议互通性的物理基础。其核心原理在于通过精确定义的物理引脚和电气特性,承载不同的高速串行通信协议,如SAS和PCIe。这类高密度连接器的技术价值在于以紧凑的形态支持多协议兼容与高速率传输,满足了企业级存储、高性能计算对带宽和可靠性的苛刻要求。典型的应用场景包括服务器硬盘背板连接、NVMe U.2固态硬盘直连以及外部存储扩展。本文聚焦于SFF-8654(亦称Mini SAS HD)这一关键接口,深入剖析其引脚定义、信号分区(如高速数据通道 阅读详情

相关推荐

Windows 11下Dify安装部署实战指南

本文详细介绍在Windows 11环境下部署开源LLM应用开发平台Dify的完整流程。涵盖环境准备(WSL 2启用、Docker Desktop安装配置)、源码获取、Docker容器化部署、数据库初始化、服务启动验证等核心步骤。包括环境变量配置、性能优化、安全加固、端口冲突解决、数据库连接故障排查等关键技术要点。为开发者提供从零到一的Dify本地化部署实战指南

weixin_44269410的博客 851

idea 启动Flask时host设置和端口设置,以及host=0.0.0.0和127.0.0.1的区别

idea flask 0.0.0.0 port

tony_java_2017的博客 9135

TouchGFX在STM32上的移植全过程:超详细版指南

深入讲解将TouchGFX集成到STM32开发环境的每一步,涵盖配置、驱动适配与UI调试。无论是初学者还是进阶开发者,都能快速掌握TouchGFX在嵌入式平台的应用技巧。

weixin_42443533的博客 600

Flask服务器设置host:0.0.0.0后外部依然无法访问问题

Flask服务器设置host:0.0.0.0后外部依然无法访问问题

weixin_51870970的博客 1万+

AMCL代码详解(六)amcl中的重采样

每次都从w1左边的竖线开始转,显而易见,转到w1的概率为0-w1之间的随机数,转到w2的概率为w1到w1+w2之间的随机数,转到w3的概率为w1+w2到w1+w2+w3之间的随机数,后面的依次类推。当某个粒子的权值较大的时候,产生的随机数落在相应区间的概率就会增大,从而实现了对权值大粒子的多次复制,权值小的粒子的剔除。可以看出,在整个重采样的过程中,粒子进行了两次种情况的刷新,一种是随机生成的新的粒子,一种是对原来的粒子的复制。得到的值越大,说明粒子的权重越小,当前粒子的可信度比较小,需要重采样粒子。

YiYeZhiNian的博客 1578

PADS VX 蛇形走线的设置方法与绕制

在PCB设计过程中,在等长的设置中是必须用到蛇形走线的,并且DDR模块也会经常使用到。因此掌握蛇形走线的设置方法对我们PCB高速板设计中有很大的帮助。下面介绍蛇形走线的设置方法与绕制。1.单根网络线的蛇形走线的设置:打开PADS router界面,点击“工具”→“选项”(快捷方式“Ctrl+Enter”),弹出“选项”窗口,选择“布线”界面下的“调整”,在“调整”界面,设置蛇形走线,倒角比例可以灵活设置。操作如下图所示:完成蛇形走线的配置后,快捷方式“F3”进行交互式布线时,单击右键选择“添加蛇形走线”,便

tianpu2320959696的博客 3388

真解决 flask --host=0.0.0.0后局域网无法访问

sudo systemctl reload firewalld (重要)经过多台设备测试,全部是防火墙引起。

ckite2的博客 1279

NX二次开发(Python)-UIStyler-选择体和按钮操作

用UG NX的UIStyler块界面编辑器,生成带有“选择体”和“按钮”操作的一个界面,如下图所示:

GimiGimmy 2311

python Flask 01 初识Flask

python三大WEB框架比较 Django web: 优点:大而全,ORM models ,model Form ,admin ,csrf ,session 缺点:资源浪费 Flask web: 优点:小而精,ORM:x , Form:x , admin:x,csrf:x,session:√,第三方组件 : 全 缺陷:稳定性较差 Tornado: 优点:异步IO非阻塞 原生webs...

一越王超的博客 899

ardupilot开发 --- Remote ID 篇

适配ardupilot的Remote ID模块研发,远程标识模块研发。Remote ID模块可以通过蓝牙或wifi向外广播无人机的状态信息、位置信息、任务信息等,并可以通过蜂窝数据向国家无人驾驶航空器一体化综合监管服务平台上报这些信息。Remote ID功能是21年起国家出台的民用无人机适航飞行的基本要求!

记录老板的每次pua,分享领导每天的毒鸡汤... 9607

华为OD机试双机位C卷-FLASH坏块监测系统(Py/Java/C/C++/Js/Go)

华为OD机试(机考)双机位C卷 【FLASH坏块监测系统】,提供Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD机试 - FLASH坏块监测系统。

qq_45776114的博客 1928

python-flask框架

什么是Flask? Flask是一个Web框架,就是提供一个工具,库和技术来允许你构建一个Web应用程序.这个Web应用程序 可以是一些Web页面,博客, wiki ,基于 Web 的日历应用或商业网站。 Flask依赖模块: web服务网关接口(Python Web Server Gateway Interface,缩写为WSGI Werkzeug 一个WSGI工具包, 是为python语言定义...

weixin_41572488的博客 392

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Flask学习笔记

对flask的初步认识

niubikls的博客 1131

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

python第一个flask程序_Flask学习笔记之第一个Flask程序

笔记大纲最近在学习Flask框架,本系列课程为学习笔记。大纲:Python环境创建Flask项目Debug模式加载配置文件Python环境本系列课程使用anconda的环境,并通过下面代码创建了一个独立的环境,用于flask的学习使用。condacreate--namewebpython=3anacondaPS:默认已经安装了flask,这里不需要再下载。pycharm使用的是专业版,这...

weixin_39846191的博客 177

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

python后端:Flask框架学习笔记

其实就是,如果我要访问一个数据,每天访问很多次,都是这个数据访问时##间又特别长,那么我们就加上这个cache,使得第一次加载的时候满,之后每一次加载直##接读缓存,节省时间,timeout=30是缓存的有效时间。g对象在一次请求中的所有的代码的地方,都是可以使用的突破变量存储位置限制, 为数据传递添加了新的方式, 比如我们在before_request产生一个数据在后面需要使用,可以保存在g对象中,在其他视图函数中就可以使用这个数据。所以我们要引入一个新概念,叫做蓝图blueprint。

qq_73099889的博客 2735

Python Flask 框架学习笔记

Flask 是一个使用 Python 编写的轻量级 Web 应用框架,它被称为 “微框架”,因为它不强制使用特定的数据库、模板引擎或其他工具,开发者可以根据项目需求自由选择和集成外部库。Flask 框架基于 Werkzeug(WSGI 工具集)和 Jinja2(模板引擎),具有简洁灵活、易于扩展、上手快等特点,非常适合快速开发小型 Web 应用和 API,也常用于构建大型项目的原型。

Zzzone683111的博客 898

flask学习笔记

本文介绍了Flask框架的基本功能实现代码,适合有开发基础的人员学习。主要内容包括:Flask基础模块创建、路由和视图函数设置、项目目录结构组织、蓝图(Blueprint)的使用方法、模板渲染技术(render_template)、请求(request)和响应(response)处理、重定向(redirect)实现等。通过代码示例展示了Flask的核心功能,包括创建应用、注册路由、处理不同HTTP方法、获取请求参数、返回JSON数据、页面跳转等技术要点。文档还提供了完整的项目结构示例和HTML模板文件,帮助

weixin_62575733的博客 491

Flask框架学习笔记

Flask框架学习笔记

南弥的博客 2070

Flask学习笔记 - 表单

是csrf_token未匹配的原因,对比了其它几种写法,未发现有什么特殊操作,其中提到清理浏览器缓存的操作,我一直都是使用Trae IDE自带的浏览器,抱着试一试的心态。用Chrome测试了下,是正常的!在Trae起的web服务和主机起的web服务,应该是有差别的。我又问了Trae里的AI,看能不能告诉我怎么清理自带的浏览器,然后它的回答,始终讲不到点上。一开始以为是html中的name和email是小写,导致提交时找不到元素,然而还是不对。要求name和email非空,且email要符合格式。

ioSugar 1433

flask框架学习笔记(3)

兜率宫 231

【Flask学习笔记:三】Flask 中的 request、response

目录: 【Flask学习笔记:一】开发环境部署 【Flask学习笔记:二】Flask 入门基础知识 【Flask学习笔记:三】Flask 中的 request、response 【Flask学习笔记:三】Flask 中的 request、response 一、request 如果要访问请求数据,可以使用全局请求对象 request。Flask 会解析传入的请求数据,并允许通过该全局对象访问它。如果...

Mr_Zhang2的博客 1369

flask学习笔记05

flask学习笔记05 类视图 视图函数除了用之前的装饰器来写外,还可以用类方法来编写,而且使用类方法还有两个好处,一是能减少代码的冗余,二是可以继承属性和方法,非常的方便。 首先一定要导入模块。 from flask import Flask,views app = Flask(__name__) 下面是标准类视图的标准写法 class HostView(View.view): def dispatch_request(self): return render_template

weixin_43111445的博客 791

【Flask学习笔记:六】Flask 蓝图

目录:   【Flask学习笔记:一】开发环境部署   【Flask学习笔记:二】Flask 入门基础知识   【Flask学习笔记:三】Flask 中的 request、response   【Flask学习笔记:四】Flask 应用和请求上下文   【Flask学习笔记:五】Jinja2 模板引擎   【Flask学习笔记:六】Flask 蓝图 【Flask学习笔记:六】Flask 蓝图 ...

Mr_Zhang2的博客 435

【Flask学习笔记:七】Flask - WTF 处理表单

目录:   【Flask学习笔记:一】开发环境部署   【Flask学习笔记:二】Flask 入门基础知识   【Flask学习笔记:三】Flask 中的 request、response   【Flask学习笔记:四】Flask 应用和请求上下文   【Flask学习笔记:五】Jinja2 模板引擎   【Flask学习笔记:六】Flask 蓝图   【Flask学习笔记:七】Flask - W...

Mr_Zhang2的博客 442
上一篇: Python获取时间戳—学习笔记
下一篇: 人工智能简史—学习笔记
studyeboy
博客等级 码龄15年 365粉丝 329原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值