Python:使用web框架Flask搭建网站

Date: 2025.04.19 20:30:43 author: lijianzhan

Flask 是一个轻量级的 Python Web 开发框架,以简洁灵活著称,适合快速构建中小型 Web 应用或 API 服务。以下是 Flask 的核心概念、使用方法和实践指南

Flask 的核心特点:

  1. 轻量级
    核心代码仅约 1,000 行,无强制依赖,可通过扩展灵活添加功能。
  2. 简单易学
    路由、模板、请求处理等基础功能通过少量代码即可实现。
  3. 灵活扩展
    支持通过插件(如 Flask-SQLAlchemy、Flask-WTF)增强数据库、表单、认证等功能。
  4. 开发友好
    内置调试器和热重载(开发模式),支持快速迭代。

Flask安装
Flask是第一个第三方库。与其他模块一样,安装时可以直接使用python的pip命令实现。不过首先需要保证python要安装好。(ps:安装方式有两种一种通过命令行安装flask,第二种使用Pycharm直接创建Flask项目)

bash 复制代码
pip install flask

1.快速入门,打开编辑器,新建index.py文件

python 复制代码
# 从flask框架中导⼊Flask类
from flask import Flask

# 传⼊__name__初始化⼀个Flask实例
app = Flask(__name__)

# app.route装饰器映射URL和执⾏的函数。这个设置将根URL映射到了hello_world函数上
@app.route('/')
def index():
    return 'Welcome to New Website'

if __name__ == '__main__':
    # 运⾏本项⽬,host=127.0.0.1设置虚拟主机,port指定访问的端⼝
    app.run(host="127.0.0.1", port=5000, debug=True)


2.运行后,在浏览器输入代码里设置好的ip地址以及端口号

3.动态路由与模板渲染

创建app.py

python 复制代码
from flask import Flask, render_template

app = Flask(__name__)

@app.route('/user/<username>')
def show_user(username):
    return render_template('user.html', name=username)

if __name__ == '__main__':
    app.run(host="127.0.0.1", port=8000, debug=True)

创建templates目录下的user.html

html 复制代码
<html lang="utf8">
<head>
    <title>User</title>
</head>
<body>
    <h1>Hello, {{ name }}!</h1>
</body>
</html>



总结:通过 Flask 的灵活性和丰富的扩展生态,开发者可以快速实现从简单网页到复杂 API 的全功能应用。

额外说明:

常用扩展推荐

Flask-SQLAlchemy 数据库 ORM 支持 pip install Flask-SQLAlchemy

Flask-WTF 表单处理与 CSRF 防护 pip install Flask-WTF

Flask-Login 用户认证与会话管理 pip install Flask-Login

Flask-RESTful 快速构建 RESTAPI pip install Flask-RESTful

Flask-SocketIO WebSocket 支持 pip install Flask-SocketIO

进阶学习资源

官方文档:Flask文档

书籍推荐:《Flask Web开发实战》(李辉)

实战项目:

1.构建一个博客系统(集成数据库和用户认证)。

2.开发 REST API 提供机器学习模型推理服务(如调用 PyTorch 模型)。

相关推荐
华研前沿标杆游学10 分钟前
走进字节豆包参观游学考察
python
沧沧凉凉12 分钟前
两个小时,AI 把我 2018 年那个 Unity 版保卫萝卜搬进了浏览器
前端·游戏·ai编程
薄雾晚晴24 分钟前
大模型Skill暴论:所有Skill终将消亡?最新Skill方法论与模型增强开发实战
前端·后端·架构
绝世唐门三哥25 分钟前
Git - git stash 语法演进与实战指南
前端·git
神膘护体小月半42 分钟前
mask 渐变遮罩属性
前端·css·css3
sylviiiiiia1 小时前
leetcode hot100
python·算法·leetcode
千里码aicood1 小时前
flask-基于注意力机制的异常流量检测与自动防御系统
后端·python·flask
维克兜率天1 小时前
4.3.2.1 日常监控:上线只是开始
服务器·数据库·python·区块链·php·量化
梨想橙汁1 小时前
Webpack 快速上手:前端工程化、打包原理、从零搭建基础项目
前端·webpack·前端工程化
the局外人1 小时前
学习 FastAPI 的 Day 2:用异步 ORM 完成增删改查
后端·python·fastapi