You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

跟随FASTapi教程使用Jinja2构建模板时遇AttributeError求助

解决 AttributeError: module 'jinja2' has no attribute 'contextfunction' 问题

这个错误的核心原因是Jinja2 3.1.0及以上版本移除了contextfunction属性,你当前使用的FastAPI/Starlette版本依赖这个已被移除的API,导致版本兼容冲突。以下是两种可行的解决方法:

方法一:升级FastAPI和Starlette到兼容版本

新版本的Starlette(FastAPI的底层依赖)已经适配了Jinja2 3.1+的变更,不再使用contextfunction。执行以下命令完成升级:

pip install --upgrade fastapi starlette

方法二:降级Jinja2到3.0.x版本

如果暂时不想升级FastAPI/Starlette,可以将Jinja2降级到仍保留contextfunction的3.0.x版本,执行:

pip install jinja2==3.0.3

额外代码修复提示

你的代码中还缺少几个必要的导入,否则运行时会出现其他错误,需要补充:

from fastapi import APIRouter, HTTPException, Request  # 补充Request、APIRouter、HTTPException的导入

内容的提问来源于stack exchange,提问作者Boros

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 17:40:29