【Python小知识】-Python Flask 框架入门教程

Python Flask 框架入门教程

一、Flask 简介

Flask 是一个轻量级的 Python Web 框架,以简洁灵活著称,适合快速开发各类 Web 应用。它提供了核心的路由、模板渲染等功能,同时支持通过扩展库丰富应用能力,如数据库集成、表单处理等。

二、项目初始化

1. 创建项目目录

打开终端,执行以下命令创建项目文件夹并进入:

bash 复制代码
mkdir flask_demo && cd flask_demo

2. 安装 Flask

使用 Python 包管理工具 pip 安装 Flask:

bash 复制代码
pip install flask

安装完成后,终端会提示安装成功信息。

3. 创建入口文件

在项目目录中新建 app.py 文件,作为 Flask 应用的主入口。

三、编写基础应用

1. 最小化应用代码

在 app.py 中写入以下代码,实现一个最基础的 Flask 应用:

python 复制代码
from flask import Flask
app = Flask(__name__)  # 初始化 Flask 实例

@app.route('/')  # 定义根路由
def index():
    return "Hello, Flask!"  # 返回响应内容

if __name__ == '__main__':
    app.run(debug=True)  # 启动开发服务器,开启调试模式

2. 运行应用

在终端执行:

bash 复制代码
python app.py

打开浏览器访问 http://127.0.0.1:5000,即可看到页面显示 Hello, Flask!。

四、路由与动态参数

1. 基础路由配置

通过 @app.route('/路径') 装饰器,可以定义不同的 URL 路由。例如,添加关于页面路由:

python 复制代码
@app.route('/about')
def about():
    return "关于我们"

访问 http://127.0.0.1:5000/about 即可查看关于页面内容。

2. 动态参数传递

Flask 支持在路由中传递动态参数,并支持类型限制,如 int、string、path 等。示例代码如下:

python 复制代码
@app.route('/user/<string:username>')
def user_profile(username):
    return f"用户:{username}"

访问 http://127.0.0.1:5000/user/张三,页面将显示 用户:张三。

五、模板渲染

1. 创建模板目录

在项目根目录下新建 templates 文件夹,用于存放 HTML 模板文件。

2. 编写 HTML 模板

在 templates 目录中新建 index.html 文件,编写简单的动态模板:

html 复制代码
<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>Flask 模板示例</title>
</head>
<body>
    <h1>欢迎访问,{{ name }}!</h1>
</body>
</html>

3. 渲染模板

修改 app.py 中的根路由函数,使用 render_template 方法加载模板并传递参数:

python 复制代码
from flask import render_template

@app.route('/')
def index():
    return render_template('index.html', name="Flask 用户")

重新运行应用,访问根路由即可看到动态渲染的页面。

六、扩展功能

1. 静态文件管理

在项目根目录下新建 static 文件夹,用于存放 CSS、JavaScript、图片等静态资源。在 HTML 模板中,可通过 url_for 函数引用静态文件:

html 复制代码
<link rel="stylesheet" href="{{ url_for('static', filename='style.css') }}">

2. 数据库集成

Flask 本身不包含数据库功能,但可通过扩展库 Flask-SQLAlchemy 实现数据库操作。安装命令如下:

bash 复制代码
pip install flask-sqlalchemy

安装后可在应用中配置数据库连接,并定义数据模型进行增删改查操作。

七、总结

Flask 框架的基础使用方法,包括项目搭建、路由配置、模板渲染等核心功能。后续可根据需求深入学习表单处理、用户认证、API 开发等高级特性,构建更复杂的 Web 应用。

​参考链接​:Flask 官方文档(https://flask.palletsprojects.com/

相关推荐
quantdash_cc2 分钟前
ETF 行情数据清洗实战:字段语义拆解、标的池整理与五个校验清单
python·数据分析·pandas·量化交易·股票数据·quantdash
小熊恋旧4 分钟前
Python 面向对象编程:方法、属性、继承与多态详解
开发语言·python
云边云科技_云网融合5 分钟前
面向汽车零部件制造业场景的解决方案 | 70 秒:一台车下线的时间里,藏着五张网
开发语言·汽车·php
Evand J5 分钟前
【PMSM滤波例程2】PMSM未知负载转矩观测EKF。MATLAB例程(负载增广EKF与实际仿真结果)。附下载链接
开发语言·matlab·电机
will_net26 分钟前
apollo 站点部署&C#接入
开发语言·c#·apollo
威哥爱编程1 小时前
Python 智能体开发实战 05:一问教材内容它就编?先把答案从你自己的资料里检索出来
python·agent
java_prinln1 小时前
RAG 面试题介绍
python·agent
威哥爱编程1 小时前
Python 智能体开发实战 06:一个函数里塞了八百行?用状态机把批改流程拆成能回退的步骤
python·agent
晗夜未央1 小时前
任务队列反复失败,先分清重试、阻塞和结果待核对
开发语言·javascript
熊猫钓鱼>_>1 小时前
四种书签,一条时间线:一个读书 App 的记忆颗粒与它的边界案例【鸿蒙心迹】
开发语言·华为·ai编程·harmonyos·鸿蒙·openharmony·鸿蒙pc