【Flask 框架学习】01:编写第一个 Flask 应用

1. 前言:为什么是 Flask?

在 Python 的 Web 开发世界里,有两个最著名的框架:DjangoFlask。如果说 Django 是一个"全能型工具箱",那么 Flask 就是一把"精巧的瑞士军刀"。

Flask 的特点:

  • 轻量级:核心简单,只保留 Web 开发的核心功能。

  • 高度定制:它不限制你使用什么数据库或模板引擎,一切由你决定。

  • 上手极快:几行代码就能跑起一个服务器。

我们就从零开始,搭建第一个 Flask 应用。

2. 环境搭建

在开始写代码之前,我们需要准备好开发环境。建议大家养成使用 虚拟环境 的好习惯,这样可以避免不同项目之间的软件包版本冲突。

使用 pip 安装 Flask

我们可以使用 Python 的包管理器 pip 可以用来安装Flask。

打开你的命令行工具(在 Windows 上是命令提示符或 PowerShell,在 macOS 或 Linux 上是终端),然后运行以下命令:

bash 复制代码
pip install flask -i https://pypi.tuna.tsinghua.edu.cn/simple

安装完成后,可以通过以下命令验证 Flask 是否安装成功:

bash 复制代码
pip show flask

执行以上命令,显示结果类似如下:

bash 复制代码
Name: Flask
Version: 2.3.2
Summary: A simple framework for building complex web applications.
Home-page: 
Author:
Author-email: Armin Ronacher <armin.ronacher@active-4.com>
License: BSD-3-Clause
Location: d:\an\envs\flask\lib\site-packages
Requires: blinker, click, itsdangerous, Jinja2, Werkzeug
Required-by: Flask-MySQLdb, Flask-SQLAlchemy

这样我们就成功安装了 Flask 包。

3. 第一个 Flask 应用:Hello Falsk

创建一个名为 app.py 的文件,填入以下代码。虽然代码很少,但每一行都至关重要:

python 复制代码
from flask import Flask

# 1. 创建 Flask 应用实例
# __name__ 参数帮助 Flask 确定资源文件的位置(如模板和静态文件)
app = Flask(__name__)

# 2. 定义路由(Route)
# @app.route 是一个装饰器,它告诉 Flask 哪个 URL 应该触发下面的函数
@app.route('/')
def hello_Flask():
    # 函数的返回值就是显示在浏览器上的内容
    return 'Hello, Flask!'

# 3. 启动本地开发服务器
if __name__ == '__main__':
    # debug=True 开启调试模式:代码修改后服务器会自动重启,且出错时会显示详细信息
    app.run(debug=True)

4. 运行你的应用

回到终端,运行这个 Python 文件:

bash 复制代码
python app.py

当你看到如下输出时,说明服务器已经成功启动了:

bash 复制代码
 * Running on http://127.0.0.1:5000
Press CTRL+C to quit
 * Restarting with stat
 * Debugger is active!
 * Debugger PIN: 126-906-996

现在,打开浏览器,访问 http://127.0.0.1:5000,你就能看到那句亲切的 "Hello, Flask!" 了!

5. 核心代码深度解析

  • from flask import Flask: 这行代码从 flask 模块中导入了 Flask 类。Flask 类是 Flask 框架的核心,用于创建 Flask 应用程序实例。

  • app = Flask(name): 这行代码创建了一个 Flask 应用实例。__name__ 是一个特殊的 Python 变量,它在模块被直接运行时是 '__main__',在被其他模块导入时是模块的名字。传递 __name__Flask 构造函数允许 Flask 应用找到和加载配置文件。

  • @app.route('/'): 这是一个装饰器,用于告诉 Flask 哪个 URL 应该触发下面的函数。在这个例子中,它指定了根 URL(即网站的主页)。

  • def hello_Flask():: 这是定义了一个名为 hello_Flask 的函数,它将被调用当用户访问根URL时。

  • return 'Hello, Flask!': 这行代码是 hello_Flask函数的返回值。当用户访问根 URL 时,这个字符串将被发送回用户的浏览器。

  • if name == 'main'::这行代码是一个条件判断,用于检查这个模块是否被直接运行,而不是被其他模块导入。如果是直接运行,下面的代码块将被执行。

  • app.run(debug=True):这行代码调用 Flask 应用实例的 run 方法,启动 Flask 内置的开发服务器。debug=True 参数会启动调试模式,这意味着应用会在代码改变时自动重新加载,并且在发生错误时提供一个调试器。

相关推荐
kyle~1 小时前
Python---watchdog文件系统监控库
开发语言·python·操作系统·文件系统
belldeep1 小时前
python:如何将豆包AI中历史对话 备份到本地 backup目录下?
人工智能·python·ai·自动化·backup·豆包
JavaLearnerZGQ1 小时前
Spring Boot 流式响应接口核心组件解析
java·spring boot·后端
我命由我123451 小时前
Photoshop - Photoshop 工具栏(68)内容感知移动工具
学习·ui·职场和发展·求职招聘·职场发展·学习方法·photoshop
Loo国昌1 小时前
【AI应用开发实战】07_文档解析路由与质量评估:从传统PDF解析到Docling现代化方案
人工智能·后端·python·自然语言处理·pdf
Pr Young1 小时前
有限状态机
服务器·后端
凌云拓界1 小时前
TypeWell全攻略:AI健康教练+实时热力图开发实战 引言
前端·人工智能·后端·python·交互·pyqt·数据可视化
派大星-?2 小时前
自动化测试五模块一框架(上)
开发语言·python·测试工具·单元测试·可用性测试
甲枫叶2 小时前
【claude产品经理系列13】核心功能实现——需求的增删改查全流程
java·前端·人工智能·python·产品经理·ai编程