一个易学习、高性能的Python的Web开发框架:FastAPI

如果你问我学习Web开发需要多长时间,我的回答是:五分钟(前提是有Python基础)。

本文将为大家推荐一款高性能、易于学习、高效编码且生产可用的Web开发框架——FastAPI。

什么是FastAPI

FastAPI

FastAPI是一个用于构建API的现代、快速(高性能)的web框架。

前后端分离已经成为Web开发的主流,FastAPI框架则主要为构建API而生,不再关心页面渲染相关的能力。

FastAPI也提出了一句响亮的口号:

FastAPI 框架,高性能,易于学习,高效编码,生产可用

您心动了吗?

FastAPI关键特性

  • 快捷

可与 NodeJS 和 Go 并肩的极高性能(归功于 Starlette 和 Pydantic)。最快的 Python web 框架之一。

  • 高效编码

提高功能开发速度约 200% 至 300%。

  • 更少bug

减少约 40% 的人为(开发者)导致错误。

  • 智能

极佳的编辑器支持。处处皆可自动补全,减少调试时间。

  • 简单

设计的易于使用和学习,阅读文档的时间更短。

  • 简短

使代码重复最小化。通过不同的参数声明实现丰富功能。bug 更少。

  • 健壮

生产可用级别的代码。还有自动生成的交互式文档。

相关推荐

中文手写体在桌面应用里总变印刷体?内嵌小赖字体加按脚本分段塑形的完整做法

先在目标平台上复现风格穿帮,再动手:确认是回落机制够不到内嵌字体,而不是字体文件或配置写错。内嵌字体三件套一次到位:字体文件、许可文本、启动注册,缺一件都算没做完。混排文字按 Unicode 区段切 run:中文组主字体用中文字体,拉丁组保持原手写体,run 按脚本边界交替。回落链继续保留给生僻字兜底:主字体管风格,回落链管覆盖,两层分工不要互相替代。三组样例验完再收工:纯中文、中英混排、生僻字加标点,缺一组都可能漏掉穿帮点。

遇码开源社区 233

给 Agent 搭一套无头评测跑器:事件出口抽象加确定性打分,让每次优化都有分数可比

新增一个Emitter再给它一个emit方法,签名刻意和 Tauri 窗口的emitWindow变体:直接调窗口的emit;Headless变体:把事件往通道里一送就返回。这里有个关键细节:通道断开时(比如评测器提前退出了),Headless分支静默丢弃即可,绝不能让事件出口的失败拖垮 Agent 的主循环。翻译成人话:评分员中途离场,不应该导致台上的演员停演。事件出口的语义是「尽力通知」,不是「可靠投递」。然后把原来所有直接调窗口 emit 的地方统一换成这个抽象。

遇码开源社区 187

水彩落笔后别立刻定型:用 2.5 秒晕开动画让数字水彩像真的在纸上洇开

读完这篇,你能给自己的手绘白板或画布应用加一个“落纸晕开”动画:水彩笔抬笔之后,笔画在 2.5 秒内按缓动曲线从“刚落笔的浓而窄”逐渐洇开成“沉降后的淡而宽”,动画结束时与静态渲染逐像素相同,无缝交回缓存。做完之后,你的数字水彩不再是“一抬笔就定型”的贴纸,而是有“洇开过程”的真水彩。解决办法不是换一套更复杂的笔刷算法,而是在已有的静态光栅上加一个时间维度:抬笔后 2.5 秒内,同一支笔画按沉降参数重新渲染几帧,从湿态渐变到干态,最后与静态结果完全一致。,多接受一个与笔画一一对应的沉降度数组。

遇码开源社区 227

知识库按标题查不到别直接报错:标题模糊匹配加候选清单的两级兜底做法

先实现标题全量收集,跳过 frontmatter、收全所有级别;精确失败后按“唯一前缀、唯一包含”的顺序兜底,唯一才直接返回;多候选或无候选时返回标题清单加重试指引,不替调用方猜;三组单测钉住三条分支,尤其是“多候选不能替选”这条底线。说到底,标题兜底不是什么高深技术,它就是把一句“未找到”换成了三句话:能确定的直接给,不能确定的给清单选,确实没有的明说。调用方少猜两次,你的 Agent 就少走两轮弯路。,觉得有用欢迎点个 star。

遇码开源社区 173

水彩两笔叠在一起出现双边沉色加白缝怎么修:读落笔前 alpha 快照做湿碰湿接缝融合,顺带把 AI 笔画尾巴收细

读完这篇,你能在自己的水彩光栅渲染里修掉一个典型瑕疵:两笔水彩叠在一起时,接缝处出现两条深色边加中间一条白缝;修完后接缝变成连续过渡。同时你还能顺手修掉另一个瑕疵:AI 生成的笔画尾巴是圆头胶囊,改成收细的笔尖。先给大家科普一个概念「湿碰湿」。翻译成人话:真实水彩里,新颜料落到已经湿了的纸面上时,不会老老实实在自己的边缘停下——颜料会向湿区扩散,两种颜色在接触处互相渗透,接缝是晕开的,不是两条线夹一条缝。

遇码开源社区 239

给 Agent 评测加只读闸门:评测任务禁写知识库与 DDL,评测不能改变它所度量的环境

读完这篇,你能给自己的 Agent 评测加上一道只读闸门:评测任务运行时,写知识库和改数据库结构的工具一律被拒绝,评测跑完后被测环境和跑之前一模一样;同时模型收到拒绝后能改用已有知识继续完成分析,而不是卡住或反复重试。先给大家科普一个概念「评测污染」。翻译成人话:评测是拿一把尺子量 Agent 的表现,如果量的时候 Agent 顺手改了尺子——比如往知识库里写了新结论、建了新视图——那第二次量的时候,量的就已经不是原来的东西了。分数变了,你却不知道是 Agent 变强了,还是环境被它自己改了。

遇码开源社区 290

给桌面应用工具栏加悬停提示:标签加快捷键徽章的暗色浮层做法

状态只要四样:标签、快捷键、光标位置、窗口宽度,用Option表示"无提示";悬停逻辑抽成 trait,所有按钮链式调用一次,不要每个按钮手写;快捷键对照真实绑定写进按钮表,改绑定时同步改表;渲染时暗色浮层跟随光标,右边界钳制,放在根节点最后保证置顶;全部按钮都要挂上,漏一个就是一次"这个按钮是不是坏了"的误会。图标按钮省下的地方,要用悬停提示还给用户。名称加快捷键徽章一次给全,是桌面应用里成本最低、收益最稳的可用性改进之一。,觉得有用欢迎点个 star。

遇码开源社区 247

给 AI 对话应用加历史轮次过程折叠:结论常驻、过程折叠成一行,顺带把每轮用量算清楚

reasoningtooltext段的 id 全部加入折叠集合;charterror段跳过;折叠控件的锚点是过程组第一段的 id,控件就渲染在这个段原来的槽位上;累加所有reasoning段的elapsedMs,得到推理总耗时;只要任一段缺耗时,这个数字就标为未知,不显示时间部分——宁可不显示,也不要显示一个假数字;数出tool段的数量,得到工具调用次数。返回结果包含四样东西:锚点 id、折叠 id 集合、推理总耗时(可选)、工具调用次数。

遇码开源社区 270

画布越画越卡?用 stamp 增量光栅把每笔的渲染成本锁死在自己的像素足迹里

算足迹(stamp box)→ 独立光栅(stamp)→ 合成进 base(composite)→ 实时帧 = base 副本 + 尾笔,外加一条"增量与全量像素等价(±2/255)"的回归纪律。20 笔从 3053ms 到 144ms,靠的不是奇技淫巧,是把 O(N²) 换成 O(N)。给开发者的建议先给你的渲染器加个"全量 vs 增量"的像素对比测试,再动手改架构——没有这条测试,增量就是慢性跑偏。

遇码开源社区 271

给 Agent 加三层记忆系统:用户画像、任务协议与知识生命周期,让它越用越懂你

用户画像记住"他是谁",任务协议记住"这类活怎么做",知识生命周期管住"旧知识别捣乱",再加一个复盘脚本当"捡漏网"。每层都是机械纪律,不是"让模型自己看着办"。给开发者的建议先给你的 Agent 写一条"沉淀纪律":触发条件 + 立即写 + 固定格式,三句话就能落地第一层。把你历史上交付得最漂亮的一次,拆成"适用问题/数据源/交付结构/验证清单"四要素,那就是你的第一条 playbook。给知识库加个status。

遇码开源社区 381

多行输入框“只见首行“的静默裁剪:auto_grow(1,4) 的三段式高度设计

静止形态(min):平时长什么样是 UI 契约,auto_grow的 min 守住它(悬浮条是 1 行胶囊)。生长上限(max):给生长一个天花板,界面不被撑爆(悬浮条是 4 行)。溢出行为:封顶后内部滚动、跟随光标,写得进去就得看得见。“能布局全长"不等于"能看见全长”——见到 h_auto 配固定高度裁剪盒,先怀疑静默裁剪。给开发者的建议:去翻一下你项目里的多行输入框,看看有没有"固定高度 + overflow 裁剪"的组合。

遇码开源社区 268

AI 指控“显示层插鬼影行“时,先过两步定案:payload 对账与直查数据库的防误诊做法

模型说"框架/渲染/驱动层有 bug",先当假的——这是最贵的结论,定案门槛最高。第一步 payload 对账:summary 声明、meta.rows、rows 实际行数三处一致,机械检查,不依赖模型判断。第二步直查数据库:绕开 agent 链路,逐字复核。两步全过才能定案。证据必须同源:验证探查与可疑分组同一列、同一查询;行号超出结果行数范围 = 读串,论证作废。贵的结论配贵的检查,便宜的检查先做——不要让模型的注意力,成为你最高成本结论的唯一证人。

遇码开源社区 214

给形状加「无描边」选项:为什么用独立布尔标志而不用特殊颜色值

给渲染元素加「无」类选项,四步:独立 bool 标志(serde 默认兼容旧文件)→ 渲染管线统一门控跳过(填充零改动)→ 缓存指纹纳入(切换即时生效)→ 边界回落 + UI 状态同步(文字回落深色、色板互斥、无效选项隐藏)。"无"不是值,是决策;决策只做一次,做在离渲染最近的地方。给开发者的建议:去翻一下你自己的代码,搜0x00000000-1""这种"特殊值表示无"的地方,数一数有几个消费点在检查它。超过 3 处,就值得重构成独立标志——现在不改,将来每加一个消费点都是在给未来的自己埋雷。

遇码开源社区 647

给数据分析 Agent 加联网搜索:为什么默认禁用,以及三条调用纪律

给 Agent 加一个"能力强但会污染主业"的工具,四步:照常挂载但把后端选择藏进配置 → preamble 立「克制使用」纪律 → 双条件准入 + 三条禁止线 → 结果标注来源、定性为背景。工具给能力,纪律给边界;没有边界的能力,输出的是看起来合理的错误。给开发者的建议:去翻一下你自己的 agent prompt,找那些"能力强"的工具——联网搜索、代码执行、文件写入。每个都问一遍:它有没有默认姿态?有没有准入条件?有没有禁止清单?如果三问里有一问答不上来,模型的用法就是失控的,趁早把纪律写进去。

遇码开源社区 625

图片渲染出来红蓝颠倒:颜色通道顺序 bug 的定位与锁死方法

颜色通道顺序 bug 六步法:纯红纯蓝诊断图钉死症状 → 查解码侧约定 → 查上传侧约定 → 搜项目内先例 → 入库处补swap(0, 2)→ 回归测试锁死字节序。颜色 bug 先对"两端的约定"表,对不上就补转换,补完用测试把约定变成契约。给开发者的建议:如果你在做任何涉及 GPU 纹理上传的图形开发,现在就去搜一下你的解码路径和上传路径——to_rgba8()后面有没有swap(0, 2),纹理格式是 RGBA 还是 BGRA。别等用户说"肤色发青"了才查。,觉得有用欢迎点个 star。

遇码开源社区 308

评测打分时数字总“对不上“:把精确相等换成相对容差 0.5% 的做法

给自动打分(或断言)里的数字比对换姿势,五步:承认格式噪声 → 抽出num_close→ 定相对容差公式(0.5% + 0.01 下限)→ 全调用点统一语义 → 真实 case 转回归测试。比的不是数字的字面相等,而是"在业务精度下是不是同一个数"。给开发者的建议:去翻一下你自己的测试/打分代码,搜1e-6==后面跟数字的地方——八成有至少一处正在用精确相等误伤合法答案。改的时候别只改一处,全局搜一遍,统一语义。,觉得有用欢迎点个 star。

遇码开源社区 228

Rust 桌面应用自托管自动更新:latest.json 清单 + minisign 签名校验的完整做法

自托管自动更新七步:密钥对(公钥 bake 进二进制)→ CI 签名 + latest.json → 客户端轮询比版本 → 下载到临时文件 → 验签(不过就停)→ 平台差异化换包 → 重启。信任锚钉死在二进制里,失败时永远能回到可启动的旧版本。给开发者的建议:如果你也在用 Rust 写桌面应用(GPUI、egui、iced 都一样),这套链路可以直接抄——updater.rs的结构是平台无关的,换掉产物格式和平台分支就能用。,觉得有用欢迎点个 star。

遇码开源社区 432

给 Agent 的动态知识大纲加 token 预算:热表完整注入、冷表折叠降级的做法

动态知识注入的预算装配,五步:估算器 → 定预算(按实测量体量)→ 按业务含义排序 → 逐条装配(超预算降级名称行、首条保底)→ 积压折叠(一行提示 + 按需拉取钩子)。常驻提示词只付"热知识"的钱,冷知识走按需拉取。给开发者的建议:如果你也在做 Agent,先去量一下你每轮提示词里动态部分有多大——八成有惊喜。量完再定预算,别拍脑袋。,觉得有用欢迎点个 star。

遇码开源社区 315

Agent 会话结束别直接关:五块式复盘报告的搭建方法

Agent 跑完不复盘,等于写了代码不看日志。先落盘、再一句命令出五块报告、然后人工过检查单、最后把纠正变成画像——这套流程抄走即用,今晚就能给你的 Agent 加上。

遇码开源社区 283

桌面应用自动保存不丢数据:dirty 标记 + 1.5 秒防抖落盘 +切换/关闭强制落盘的完整做法

—因为这时候弹什么提示用户都看不见了,不如不弹。

遇码开源社区 357

AI 流式输出时「思考中」总被正文盖住:最新活动优先的状态行做法

流式状态行的规则只有一条:显示 steps 最后一项对应的活动。优先级按"正在做"排,不按"说过什么"排;buffer 只做 steps 为空时的兜底。状态计算抽成纯函数,输入只有步骤序列和 buffer,UI 层只调用。空思考、空文本、全空三种情况都要有占位文案,别留空行。修之前先在事件边界挂探针,证明事件到达了,再动显示逻辑。把复现场景写成单测,锁定修复,防止下次重构改回去。状态行只有一行,但它回答的是用户最关心的问题:它现在到底在干嘛。这一行对了,用户才愿意等;

遇码开源社区 261

没有标准答案的 Agent 会话怎么打分:五维度机械检查评分模型的搭建方法

先给大家科普一个取数口径:交付形态的检查,落在"最后一次工具调用之后的文本"上。这跟 UI 的折叠语义一致——用户最终看到的、折叠后展开的那段结论,就是这段文本。前面中间过程的啰嗦不算,算的是最后交付出来的那段。空会话和纯文本会话(没有任何工具调用)不计分:没有可机械检查的取数行为,硬打分只会打出噪音。先定义回合和取数口径(最后一次工具调用之后的文本),再写任何检查。维度先少后多:从交付形态、用户验收这两头开始——前者是"交出来的东西对不对",后者是"用户买不买账"。

遇码开源社区 313

不用转场引擎做幻灯片转场:相机滑动、黑场淡入与真全屏的完整做法

给画布应用加放映转场,按这个顺序来:页面并排布局 → 每页加effect属性(SlideFadeNone,默认滑动)→ 翻页时由被进入页决定转场 → 滑动用相机插值 + smoothstep(300ms)→ 淡入用黑场遮罩盖住瞬间切换(140 / 80 / 260ms)→ 第一页的effect就是开场特效 → 真全屏 + 放映期间藏起所有编辑痕迹。转场不是"画面怎么切",而是"观众的注意力怎么被带到下一页"。

遇码开源社区 322

流式调用中途断连别直接报错:瞬态故障识别、退避重试与中文根因诊断的搭建方法

给流式调用加瞬态故障处理,按这个顺序来:先写标记分类函数并钉死正反测试 → 在流循环里用划清重试边界 → 复用一个指数退避循环(最多 4 次,每次都通知用户)→ 重试耗尽后给中文诊断 + 原文备查 → 没走重试的错误也要落结构化日志,带阶段、token、耗时。用户不需要知道是什么,他只需要知道"程序已经自动重试过了,现在该他做什么"。从这个标准反推,你就知道分类、重试、诊断每一环该写成什么样。

遇码开源社区 228

AI 画四格漫画人物总走样:模板套件 + 姿势库 + 反死板检查的完整做法

给 AI 绘图工具加"画漫画"能力,按这个顺序来:先做模板存取(save / stamp / list)+ 确定性盖章变换 → 再做剧本-分格-盖章-终检的工作流 → 最后加姿势套件、表情部件、反死板检查这些生动性机制。让 AI 画得一致,别训练它的记忆力,给它一套印章。记忆会漂移,文件不会。

遇码开源社区 370

给 Agent 的每条 SQL 执行记账:审计日志表 + 双份落盘的搭建方法

给 Agent 工具加审计日志,按这个顺序来:先定五个字段的 meta → 抽出wrap_query保证记录与执行逐字一致 → 成功失败双路径落日志 → logs 表 + transcript meta 双份落盘 → 用三个排查查询验证能查到东西。审计日志的价值不在"记了多少",而在"出事时能不能复现现场"。从这个标准反推,你就知道该记什么、不该记什么。

遇码开源社区 335

给无限白板做填充材质系统:五种填充 + 阴影 + 飞白参数的完整实现

填充系统的起点不是"五个 if",是一个枚举(FillStyle,在Hachure, // 纹:经典手绘排线,默认Dense, // 密:超密排线,近乎平铺但保留手绘质感Solid, // 实:平铺色块,粉笔板报的实心面板Watercolor, // 彩:水彩晕染,多层半透明排线 + 边缘洇色Gradient, // 渐变:垂直线性渐变,顶亮底暗为什么是枚举而不是"五个布尔开关"?因为填充是"互斥的材质选择"——一个形状同一时间只能是一种填充。

遇码开源社区 283

Agent 结论发出前先对账:值域对账验证层 + n=3 重复对照的搭建方法

这两天 Agent 圈还在卷"模型越来越聪明"——更大的参数、更长的上下文、更强的推理。可查数场景有个反直觉的现实:结论错了,往往不是模型算错了,而是它把 A 层级的东西填进了 B 层级的榜单,还写得自信满满。我没跟着换更大的模型。我干了另一件事——把我自己维护的开源数据智能体工作台 daw 里,2026 年 9 月 1 日那天落地的验证层(verify)完整拆了一遍。看完我可以负责任地告诉你三件事。第一,结构级错误(层级错配、口径错配)是可以用机械检查当场抓出来的,不用等用户来骂。

遇码开源社区 816

macOS 触摸板捏合在 GPUI 里无响应:vendor 打补丁,把手势合成为 cmd+滚轮事件

这两天桌面端 AI 应用越来越多,Mac 用户有个肌肉记忆:双指一捏,画布就该放大;双指一收,就该缩小。结果在我自己维护的开源无限手绘白板 boundless(Rust + GPUI)里,这个手势一度完全没反应——双指在触控板上搓到冒烟,画布纹丝不动。我没换 UI 框架。我干了另一件事——把 GPUI 0.2.2 的 mac 后端翻了一遍,找到这个手势死在了哪一层,然后给框架打了个 vendor 补丁。看完我可以负责任地告诉你三件事。第一,捏合手势死在两处:mac 后端的 NSView 根本没注册。

遇码开源社区 410

Agent 本地知识库的生命周期管理:写入三道守卫、读取两级兜底、定期体检

这两天 Agent 圈还在卷"记忆"——上下文窗口越开越大,Agent 还是记不住用户上周说过的话。于是大家去追更长的窗口、更贵的向量库,好像"记住"是个存储问题。我没跟着卷。我干了另一件事——把我自己维护的开源数据智能体工作台 daw 的本地知识库(OKF,Open Knowledge Files)机制完整拆了一遍。它不用向量库,就是一堆 Markdown 文件,但跑了两个月没腐烂:写不丢、读得到、改了可追溯、旧知识会体面退场。看完我可以负责任地告诉你三件事。

遇码开源社区 527
上一篇: 大意了!!!天下真的没有免费的图床了吗?
下一篇: 一个用Python编写的轻量的Web开发框架——Flask
遇码
遇码 遇码开源社区官方账号 遇码开源社区官方账号
博客等级 码龄11年 581粉丝 161原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值