当前位置: 首页 > news >正文

02 Flask-快速上手

创建项目文件

从电脑选择一个盘符(来存放之后学习的项目文件)

这里选择以电脑C盘的桌面来做演示

在选择的盘符里面创建一个文件夹(来保存之后的学习文件)

在这里插入图片描述

使用 poetry 创建一个初始配置项(pyproject.toml)

详情参考

poetry init

在这里插入图片描述

创建虚拟环境

 poetry env use python

在这里插入图片描述

激活虚拟环境

poetry shell

在这里插入图片描述

安装 flask

poetry add flask

在这里插入图片描述

第一个flask程序

在这里插入图片描述

from flask import Flask   # 从 flask 模块导入 Flask 类。Flask 是一个轻量级的 Web 应用框架,用于创建 Web 应用。app = Flask(__name__)   # 创建一个 Flask 应用实例。__name__ 是当前模块的名字,当这个脚本作为主程序运行时,它的值是 '__main__'。这个实例是整个 Flask 应用的核心,用于配置和运行应用。@app.route('/')   # 使用 Flask 的路由装饰器@app.route()来定义一个路由。这个装饰器告诉 Flask,当用户访问根 URL(即网站的主页)时,应该调用哪个函数。在这个例子中,根 URL 就是网站的域名后面不跟任何路径。def index():   # 定义一个视图函数,这个函数与上面定义的路由关联。当用户访问与该路由匹配的 URL 时,这个函数将被调用。return 'Hello Flask'   # 这个函数返回一个字符串,这个字符串将作为 HTTP 响应发送给客户端。在这个例子中,当用户访问根 URL 时,他们将看到页面上显示 "Hello Flask"。if __name__ == '__main__':   # 这是一个条件语句,用于检查当前脚本是否是作为主程序运行。如果是,那么下面的代码将被执行。如果这个脚本被其他模块导入,__name__ 的值将是模块的名字,而不是 '__main__',因此下面的代码不会执行。app.run()   # 这行代码启动 Flask 内置的开发服务器。当这个脚本作为主程序运行时,它会启动一个本地服务器,通常在 http://127.0.0.1:5000/ 上运行。这个服务器是用于开发和测试的,不应该在生产环境中使用。

在这里插入图片描述

讲解

关键组件

导入 Flask
from flask import Flask
  • 从 flask 模块导入 Flask 类。
创建 Flask 应用实例
app = Flask(__name__)
  • 创建一个 Flask 应用实例,__name__ 表示当前模块。
定义路由和视图函数
@app.route('/')
def index():return 'Hello Flask'
  • 使用 @app.route() 装饰器定义路由。
  • 当访问对应的 URL 时,会调用关联的视图函数。
  • 在这个例子中,访问根 URL ('/') 时,返回字符串 'Hello Flask'
运行 Flask 应用
if __name__ == '__main__':app.run()
  • 检查当前脚本是否作为主程序运行。
  • 如果是,使用 app.run() 启动 Flask 内置的开发服务器。

注意事项

  • 确保使用 __name__ 而不是 'name' 来检查是否作为主程序运行。
  • Flask 的开发服务器不应用于生产环境。

路由的理解

在 Flask 中,路由确实可以类比于电脑上的文件夹路径。下面我将详细解释这个比喻:

文件系统中的路径(电脑文件夹)

在电脑文件系统中,路径是用来定位文件或文件夹的一种方式。例如,如果你有一个文件夹位于你的电脑的 C 盘,路径可能是这样的:

C:\Users\YourName\Documents\ProjectFolder

这个路径告诉我们如何从电脑的根目录(在这个例子中是 C 盘)找到特定的文件夹(ProjectFolder)。路径中的每个部分(如 Users、YourName、Documents)都是路径的一部分,它们共同定义了到达目标文件夹的完整路径。

Flask 中的路由

在 Flask Web 应用中,路由的作用非常相似。路由定义了客户端(如浏览器)如何通过 URL 访问服务器上的特定资源或执行特定的操作。例如:

@app.route('/about')
def about():return 'About Page'

在这个例子中,@app.route('/about') 定义了一个路由,它告诉 Flask,当用户访问 http://yourdomain.com/about 这个 URL 时,应该调用 about() 函数。这里的 /about 就像是文件系统中的路径,它指向了服务器上的一个特定“位置”。

路由和视图函数

在 Flask 中,每个路由都关联一个视图函数。当用户访问该路由对应的 URL 时,关联的视图函数会被执行,并返回相应的响应给客户端。这类似于在文件系统中,当你访问一个文件夹时,你可能会看到里面的内容或执行某个操作。

总结

  • 文件系统路径:定义了如何在电脑文件系统中找到一个文件夹或文件。
  • Flask 路由:定义了如何通过 URL 访问 Web 应用中的一个特定视图函数。

通过这个比喻,你可以更容易地理解 Flask 路由的概念,以及它们如何帮助组织和访问 Web 应用的不同部分。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Docker中的容器内部无法使用vi命令怎么办?
  • 敏捷开发方法例题
  • 说一下解除docker限制内存警告
  • Java中的linkedList类及与ArrayList的异同
  • opencv彩色图像转灰度图原理
  • .net 获取某一天 在当月是 第几周 函数
  • 【go】pprof 性能分析
  • 什么是CPU、GPU、NPU?(包懂+会)
  • 为什么eBay的防IP关联很重要?
  • react | 自学笔记 | 持续更新
  • 深拷贝与数据扁平化封装打开即用
  • java --- 性能优化01
  • Linux:体系结构和操作系统管理
  • Flutter的升级和降级步骤
  • QMT软件怎么申请开通?QMT软件到底是谁在用啊?QMT量化软件K线驱动介绍
  • 《深入 React 技术栈》
  • C++11: atomic 头文件
  • es6--symbol
  • Invalidate和postInvalidate的区别
  • leetcode378. Kth Smallest Element in a Sorted Matrix
  • Ruby 2.x 源代码分析:扩展 概述
  • Spring Cloud Feign的两种使用姿势
  • SwizzleMethod 黑魔法
  • Tornado学习笔记(1)
  • 闭包,sync使用细节
  • 对话 CTO〡听神策数据 CTO 曹犟描绘数据分析行业的无限可能
  • 记录一下第一次使用npm
  • 前端每日实战:61# 视频演示如何用纯 CSS 创作一只咖啡壶
  • 入口文件开始,分析Vue源码实现
  • 深度学习中的信息论知识详解
  • 使用 QuickBI 搭建酷炫可视化分析
  • 微信小程序开发问题汇总
  • FaaS 的简单实践
  • # Pytorch 中可以直接调用的Loss Functions总结:
  • # 飞书APP集成平台-数字化落地
  • $var=htmlencode(“‘);alert(‘2“); 的个人理解
  • (02)Cartographer源码无死角解析-(03) 新数据运行与地图保存、加载地图启动仅定位模式
  • (poj1.2.1)1970(筛选法模拟)
  • (Spark3.2.0)Spark SQL 初探: 使用大数据分析2000万KF数据
  • (篇九)MySQL常用内置函数
  • (实战篇)如何缓存数据
  • (五)Python 垃圾回收机制
  • (一) storm的集群安装与配置
  • (转)memcache、redis缓存
  • (转)大型网站架构演变和知识体系
  • ***汇编语言 实验16 编写包含多个功能子程序的中断例程
  • *p=a是把a的值赋给p,p=a是把a的地址赋给p。
  • .NET CF命令行调试器MDbg入门(二) 设备模拟器
  • .NET Core 控制台程序读 appsettings.json 、注依赖、配日志、设 IOptions
  • .net wcf memory gates checking failed
  • .NET 的静态构造函数是否线程安全?答案是肯定的!
  • .NET/C# 判断某个类是否是泛型类型或泛型接口的子类型
  • .NET/C#⾯试题汇总系列:⾯向对象
  • .NetCore项目nginx发布
  • .net访问oracle数据库性能问题