Python Web 框架对比与实战:Django vs Flask vs FastAPI

Python Web 框架对比与实战:Django vs Flask vs FastAPI

1. 背景与动机

Python 拥有丰富的 Web 开发框架,每个框架都有其特点和适用场景。本文对比 Django、Flask 和 FastAPI 三大主流框架,帮助开发者选择合适的工具。

2. 框架对比

特性DjangoFlaskFastAPI
学习曲线陡峭平缓中等
功能完整性全功能微框架现代API
性能中等中等
异步支持有限扩展支持原生支持
自动文档扩展内置

3. Django 实战

# models.py from django.db import models class Article(models.Model): title = models.CharField(max_length=200) content = models.TextField() created_at = models.DateTimeField(auto_now_add=True) # views.py from django.shortcuts import render from rest_framework import viewsets from .models import Article from .serializers import ArticleSerializer class ArticleViewSet(viewsets.ModelViewSet): queryset = Article.objects.all() serializer_class = ArticleSerializer 

4. Flask 实战

from flask import Flask, jsonify, request from flask_sqlalchemy import SQLAlchemy app = Flask(__name__) app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///app.db' db = SQLAlchemy(app) class User(db.Model): id = db.Column(db.Integer, primary_key=True) username = db.Column(db.String(80), unique=True) @app.route('/users', methods=['GET', 'POST']) def users(): if request.method == 'POST': user = User(username=request.json['username']) db.session.add(user) db.session.commit() return jsonify({'id': user.id}), 201 users = User.query.all() return jsonify([{'id': u.id, 'username': u.username} for u in users]) 

5. FastAPI 实战

from fastapi import FastAPI, HTTPException from pydantic import BaseModel from typing import List app = FastAPI() class Item(BaseModel): name: str price: float items = [] @app.get("/items", response_model=List[Item]) def get_items(): return items @app.post("/items") def create_item(item: Item): items.append(item) return item @app.get("/items/{item_id}") def get_item(item_id: int): if item_id >= len(items): raise HTTPException(status_code=404, detail="Item not found") return items[item_id] 

6. 性能测试

# 使用 locust 进行压力测试 from locust import HttpUser, task class WebsiteUser(HttpUser): @task def get_items(self): self.client.get("/items") 

7. 结论

  • Django:适合大型项目,需要快速开发完整功能
  • Flask:适合小型项目,需要灵活性和简洁性
  • FastAPI:适合现代 API 开发,需要高性能和自动文档

Read more

阿里开源 Page Agent:纯前端页内 GUI Agent,一句话点击填表不是梦

阿里开源 Page Agent:纯前端页内 GUI Agent,一句话点击填表不是梦

说明:文中 CDN 版本号、国内镜像等请以 GitHub README 与 官方文档 为准。 一、我们到底在解决什么问题 后台系统、ERP、CRM、内部运营平台往往表单多、步骤长。用户常见诉求是:「帮我把这一页该点的点了、该填的填了。」传统做法有两类: 1. 服务端自动化:Playwright、Puppeteer、Selenium 等,适合批处理、无人值守、跨站点脚本,但要维护浏览器集群或任务队列,和「用户正在看的这一页」耦合弱。 2. RPA 或录制脚本:偏重桌面或固定流程,对现代 SPA、动态 DOM 的适配成本高。 Page Agent 走的是另一条路:把 Agent 嵌进网页里——用户用自然语言下指令,

uniapp - 详解APP端免费人脸识别+人脸核身+人脸对比+活体检测插件功能完整源码,uniAPP纯前端实现不依赖后端API接口或第三方付费人脸识别功能示例(仅兼容安卓app与苹果ios App)

uniapp - 详解APP端免费人脸识别+人脸核身+人脸对比+活体检测插件功能完整源码,uniAPP纯前端实现不依赖后端API接口或第三方付费人脸识别功能示例(仅兼容安卓app与苹果ios App)

功能说明 uniapp(vue2 + vue3)语法版本可用,跟着教程操作复制代码。 uniapp App端(安卓APP+苹果APP)免费人脸识别功能,纯前端完成调用手机摄像头并实现人脸识别及后端处理并返回结果,并且带有摇头张嘴指引自定义,提供多种业务示例代码覆盖全场景:人脸识别+人脸核身+人脸对比+活体检测详细示例源码直接开箱即用,完美兼容安卓和苹果IOS系统手机! 提供详细示例代码,一键复制运行即可。 完整源码 媲美第三方 【您订阅专栏后,帮您1对1解决技术难题或BUG排查协助沟通服务】 基础界面 先来看下基础的界面实现,然后分别看下各种示例,根据自己的情况复制使用即可。</

.社区疫情管理系统信息管理系统源码-SpringBoot后端+Vue前端+MySQL【可直接运行】

.社区疫情管理系统信息管理系统源码-SpringBoot后端+Vue前端+MySQL【可直接运行】

摘要 在全球新冠疫情持续蔓延的背景下,社区作为疫情防控的基础单元,承担着人员健康监测、物资调配、信息上报等重要职责。传统的人工管理方式效率低下且容易出现数据遗漏,亟需一套高效、智能的社区疫情管理系统,以实现信息的快速采集、处理和共享。该系统能够帮助社区工作人员实时掌握居民健康状况、疫苗接种情况、外来人员登记等关键信息,提升疫情防控的精准性和响应速度。关键词:新冠疫情、社区管理、健康监测、信息共享、精准防控。 本系统采用前后端分离架构,后端基于SpringBoot框架搭建,提供RESTful API接口,前端使用Vue.js实现动态交互界面,数据库采用MySQL存储数据。系统主要功能包括居民健康信息填报、疫情数据统计分析、物资调度管理、公告发布及权限控制等。通过多角色权限分配,确保社区工作人员、物业管理人员和普通居民能够安全高效地使用系统。系统支持数据可视化展示,便于决策者快速掌握疫情动态。关键词:SpringBoot、Vue.js、MySQL、RESTful API、数据可视化。 数据表设计 居民健康信息数据表 居民健康信息数据表用于存储社区居民的健康状态、疫苗接种记录及行程

分享12个AI免费一键生成PPT的网站【2025年最新】

分享12个AI免费一键生成PPT的网站【2025年最新】

一、引言 制作PPT演示文稿是许多场合中必不可少的技能,包括商务会议、教育课程和各种演讲。尽管PowerPoint自带多种设计工具和模板,有时我们仍需要额外的支持来提高演示文稿的专业性和吸引力。幸运的是,随着人工智能技术的进步,现已有一些在线工具通过AI技术协助我们快速生成演示文稿。 ✅本文给大家推荐12个免费一键生成PPT的AI网站,部分网站支持免费无限制下载。 二、一键生成PPT的网站 1. 轻竹AIPPT 传送入口:https://sourl.cn/2y6JKz 推荐指数:⭐⭐⭐⭐⭐ 输入标题30秒自动生成PPT,适用于论文答辩、商业计划、述职汇报等场景,支持word转PPT,在线编辑自动排版。PPT生成是无限制免费的。 例如:介绍人工智能的发展历程及应用场景 如果对模板不满意,还可以切换其他PPT模板 2. 博思AIPPT 传送入口:https://ai-to.cn/url/?u=pptgo 推荐指数:⭐⭐⭐⭐⭐ 用户仅需输入主题、上传文件或选择模板,即可快速生成专业级演示文稿。 例如:生成产品经理年中总结报告PPT