当前位置: 首页 > news >正文

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项目)

pip install flask

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

# 从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

from flask import Flask, render_templateapp = 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 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 模型)。

相关文章:

  • php实现zip压缩
  • 作业2 CNN实现手写数字识别
  • C++入门小馆: 深入string类
  • 藏品馆管理系统
  • Spring Boot 中基于 Reactor 的服务器端事件(SSE)推送机制实践
  • Linux系统:详解进程等待wait与waitpid解决僵尸进程
  • TensorFlow 实现 Mixture Density Network (MDN) 的完整说明
  • 【仓颉 + 鸿蒙 + AI Agent】CangjieMagic框架(16):ReactExecutor
  • 蓝桥杯之递归
  • Python异常处理
  • ArcPy Mapping 模块基础
  • 【Unity】bug记录——部分物体突然不受animator控制
  • 释放 Mac 存储空间:Ollama 模型迁移到外接 NVMe 磁盘
  • 验证Kubernetes的服务发现机制
  • kafka的零拷贝技术
  • 【大疆dji】ESDK开发环境搭建(软件准备篇)
  • LangChain框架-检索器详解
  • swagger的简介及使用方法
  • 文字的力量
  • 2021-11-10 C++蜗牛爬井进3退1求天数
  • 一场12年的马拉松,他用声音陪伴中国路跑成长
  • 杭州萧山区两宗地块收金约44.73亿元,最高溢价率74.4%
  • 全国总工会成立100周年,工运历史和发展成就展将对外展出
  • “何以中国·闽山闽水物华新”网络主题宣传活动在福建武夷山启动
  • 执政将满百日,特朗普政府面临国内“三重暴击”
  • 中央民族乐团团长赵聪已任文旅部艺术司司长