02 Flask-快速上手

创建项目文件

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

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

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

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

详情参考

shell 复制代码
poetry init

创建虚拟环境

shell 复制代码
 poetry env use python

激活虚拟环境

shell 复制代码
poetry shell

安装 flask

shell 复制代码
poetry add flask

第一个flask程序

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

注意事项

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

路由的理解

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

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

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

shell 复制代码
C:\Users\YourName\Documents\ProjectFolder

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

Flask 中的路由

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

python 复制代码
@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 应用的不同部分。

相关推荐
实名上网宋凯宣7 小时前
Django
后端·python·django
如若1238 小时前
【论文复现】CoFailMed:从零复现医学图像分割的共享失败审计,含完整代码流程与科研绘图
人工智能·python
砚底藏山河9 小时前
python量化自定义周期 K 线合成
java·开发语言·数据库·python·金融
视觉小萌新9 小时前
AI Class 3 · Chapter 1:变量、字符串、list/dict、if/for(python学习-小白版-有经验可跳过)
python·学习·list
薛定谔的猫-菜鸟程序员10 小时前
软件架构设计师开发资料大全(从入门到精通)
后端·python·系统架构·flask·架构设计师
Ramble_Naylor12 小时前
Rust深度解读:Send 与 Sync 的本质与线程安全边界
python·算法·rust
Allen_LVyingbo12 小时前
NVIDIA CUDA Tile 在医疗计算中的算子形式化、算法重构与内核实现
大数据·python·算法·重构·知识图谱·健康医疗·数据库架构
云和数据.ChenGuang13 小时前
Python 闭包详解:从原理到实战
linux·开发语言·人工智能·python·kubernetes
我命由我1234514 小时前
Python 实用操作 - 文件操作(打开与关闭文件、读取文件、文件写入)
java·开发语言·前端·javascript·数据库·python·java-ee
青少儿编程课堂14 小时前
蓝桥杯·全国青少年信息素养大赛·电子学会Python/C++考级:倍增法求最近公共祖先LCA解析
c++·python·算法·bfs·信息学竞赛