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

Django REST Framework从URL获取字符串参数返回JSON响应时出现Null值问题

解决DRF中GET请求参数返回Null的问题

嘿,我一眼就揪出问题所在啦!你的请求是GET请求,URL里的solute和solvent属于查询字符串参数,但你却用了request.POST.get()来获取——这个方法是专门用来提取POST请求体里的表单数据的,GET请求根本不会携带POST数据,所以自然拿到的都是Null咯!

修正后的代码

from rest_framework.decorators import api_view
from rest_framework.response import Response

@api_view(['GET'])
def result(request):
    response = {}
    # DRF推荐用request.query_params获取GET查询参数
    solute = request.query_params.get('solute')
    solvent = request.query_params.get('solvent')
    # 也可以用Django原生的request.GET.get(),效果完全一致
    # solute = request.GET.get('solute')
    # solvent = request.GET.get('solvent')
    results = [solute, solvent]
    return Response({'result': results}, status=200)

额外小提示

如果担心参数缺失导致返回None,可以给get()方法加个默认值,比如request.query_params.get('solute', '未提供'),这样能让逻辑更健壮~

现在再访问你的请求URL http://127.0.0.1:8000/predict/?solute=CC(C)(C)Br&solvent=CC(C)(C)O,就能得到包含正确参数值的JSON响应啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.28 08:57:31