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

Django中如何获取GET请求内所有参数及其对应值

Django获取GET请求查询参数的最优实现方案

首先明确:Django中GET请求携带的查询参数全部存储在request.GET对象中,这是Django封装的QueryDict类实例,支持类字典的所有操作,适配单值/多值参数场景,是官方推荐的获取方式。不要用request.data获取GET参数,后者仅用于读取请求体中的数据(对应POST/PUT/PATCH等请求)。

常用操作方式

1. 单独获取指定参数

对于你示例中的单值参数,直接调用get()方法即可,支持设置默认值避免参数不存在抛出KeyError异常:

# 格式:request.GET.get('参数名', 缺省默认值)
name = request.GET.get('_name', '')
last_name = request.GET.get('_last_name', '')
favorite_food = request.GET.get('_favorite_food', '')

如果遇到同参数名传多个值的场景(如?tag=python&tag=django),使用getlist()方法获取全部值:

tags = request.GET.getlist('tag', [])

2. 批量获取所有参数

如果需要遍历输出所有参数的键值对,可直接将QueryDict转为普通字典后操作:

# 转为普通字典存储所有参数键值对
all_get_params = dict(request.GET)

# 遍历打印所有参数
for param_key, param_value in all_get_params.items():
    print(f"参数名:{param_key},参数值:{param_value}")

注意事项

  • request.GET默认是不可修改的对象,如需修改参数请先调用request.GET.copy()拿到可编辑的副本再操作
  • 所有参数获取后建议做合法性校验,避免恶意参数导致业务异常

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.18 15:27:04