FastAPI中通过Jinja2模板传递查询参数异常问题
问题解决:FastAPI中area2参数始终返回None的原因及修复
问题根源
你的前端Jinja2模板里的URL参数存在两处错误,导致FastAPI无法正确解析area2参数:
- URL参数分隔符错误:多个GET参数之间只能用
&分隔,但代码里出现了多余的?(比如?page=1?&area2={{area}}、&?area={{area}}),这会破坏参数格式,使得后续参数无法被识别。 - 参数名不匹配:后端接收的参数名是
area2,但第二个链接里写的是area={{area}},参数名不一致,导致后端无法映射到对应的变量。
修正后的前端代码
<span class="step-links"> {% if page_obj.has_previous %} <a href="?page=1&area2={{area}}">« first</a> <a href="?page={{ page_obj.number-1 }}&area2={{area}}"> --previous </a> {% endif %} </span>
验证说明
修正后:
- 所有参数用
&正确分隔,无多余的? - 两个链接的参数名都统一为
area2,和后端定义的参数名完全匹配
此时再发起请求,FastAPI就能正确捕获area2参数的值了。
内容的提问来源于stack exchange,提问作者Carlos Alberto Argote Quintero
相关产品推荐
相关产品推荐

