Flask 入门到实战:手把手带你构建第一个 Python Web 应用

Flask 入门到实战:手把手带你构建第一个 Python Web 应用


一、前言:为什么选择 Flask?

在 Python Web 开发领域,常见的框架包括 Flask、Django、FastAPI 等。 如果你是初学者,Flask 是最适合你的入门框架之一。它轻量、灵活、文档完善,上手门槛低,并且足够强大,支持构建中型以上的生产级应用。

本篇博客将带你从零开始,逐步理解 Flask 的开发逻辑,并构建一个简单可运行的 Web 应用。


二、开发环境准备

1. 安装 Python

确保你已经安装了 Python 3.7+。可以通过以下命令确认:

bash 复制代码
python3 --version

2. 创建虚拟环境(推荐)

bash 复制代码
python3 -m venv venv
source venv/bin/activate  # macOS / Linux
venv\Scripts\activate     # Windows

3. 安装 Flask

bash 复制代码
pip install flask

三、Flask 快速上手:Hello, World!

创建一个名为 app.py 的文件,输入以下代码:

bash 复制代码
from flask import Flask

app = Flask(__name__)

@app.route('/')
def hello():
    return 'Hello, Flask!'

if __name__ == '__main__':
    app.run(debug=True)

在PyCharm中,当你创建了flask项目就会自动生成上述文件。

然后运行:

bash 复制代码
python app.py

打开浏览器,访问 http://127.0.0.1:5000,就能看到页面上显示:

复制代码
Hello World!

你已经成功搭建了一个最基本的 Flask 应用。


四、核心概念详解

1. Flask 应用对象

python 复制代码
app = Flask(__name__)

这是 Flask 应用的核心,创建了一个应用实例。

2. 路由与视图函数

py 复制代码
@app.route('/')
def hello():
    return 'Hello, Flask!'

路由负责将 URL 映射到对应的函数(即"视图")。例如访问 / 就会触发 hello() 函数。

3. debug=True 的作用(重要)

让 Flask 在开发过程中自动重载代码并提供调试信息。我们开启这个模式就可以避免重复启动与关闭。


五、添加 HTML 模板

Flask 支持 Jinja2 模板引擎。我们来构建一个带 HTML 页面响应的例子。

1. 创建目录结构:

md 复制代码
project/
├── app.py
└── templates/
    └── index.html

2. 修改 app.py:

py 复制代码
from flask import Flask, render_template

app = Flask(__name__)

@app.route('/')
def index():
    return render_template('index.html')

3. 创建 templates/index.html:

html 复制代码
<!DOCTYPE html>
<html>
<head>
    <title>Flask Demo</title>
</head>
<body>
    <h1>欢迎来到 Flask 世界!</h1>
</body>
</html>

重新运行 Flask 应用后访问首页,你将看到一个简单的 HTML 页面。


六、表单处理与请求参数

我们扩展一个表单输入功能:

app.py 新增路由:

py 复制代码
from flask import request

@app.route('/greet', methods=['GET', 'POST'])
def greet():
    if request.method == 'POST':
        name = request.form['name']
        return f'你好,{name}!'
    return '''
        <form method="post">
            你的名字:<input type="text" name="name">
            <input type="submit">
        </form>
    '''

这是 Web 开发的关键步骤:接收用户输入并生成动态响应。


七、如何继续学习?

Flask 虽然轻量,但功能不简单。下节将继续深入学习以下内容:

使用 SQLAlchemy 打造可持久化的数据层


八、总结

通过本篇文章,我们完成了以下内容:

  • 理解了 Flask 的核心概念
  • 编写了第一个 Web 应用
  • 使用了模板渲染 HTML
  • 实现了表单输入和数据响应

Flask 是学习 Web 开发的一把钥匙,未来你可以用它构建博客、后台管理系统、API 服务,甚至是部署 AI 模型的接口~****

相关推荐
北城笑笑43 分钟前
Server 18 ,Nginx 双服务器 HTTP转HTTPS 代理实战( HTTP 地址换 HTTPS 域名 )
运维·服务器·前端·后端·nginx·http·https
紫洋葱hh43 分钟前
Go 入门基础:类型、变量与运算符
开发语言·后端·ai·golang
打工仔折腾 AI1 小时前
Qt网络编程实战:UDP、TCP到HTTP的落地经验与选型
网络·人工智能·后端·python·qt·udp·ai agent 实战
打工仔折腾 AI1 小时前
SQL 编辑器不是高级记事本:KStudio 与 KSQL Developer 的建表与增删改查手法
数据库·人工智能·后端·python·sql·编辑器·ai agent 实战
我命由我123451 小时前
ReAct 循环
学习·ai·产品运营·学习方法·ai编程·ai写作·产品
路多辛1 小时前
全能 Go Agent 框架 covonaut v1.1.5 发布:改进检查点、Token用量与缓存
缓存·agent·ai编程
拖孩2 小时前
# AI 帮我写的小程序,上线不到一个月流量主突然爆了
前端·后端·微信小程序
考虑考虑2 小时前
JFROG手动上传包
运维·后端·自动化运维
Bigger2 小时前
AI 时代,如果 55 岁就能选择退休,会发生什么?
aigc·ai编程
ZzT2 小时前
日合并 3 万次之后,Anthropic 换掉了 Git
ai编程·claude