Django从HTML输入取数据执行函数遇AttributeError问题求助
Django中'WSGIRequest' object has no attribute 'get' 错误排查方案
核心错误原因:你直接对Django的
WSGIRequest(即视图函数中的request对象)调用了get()方法,但这个对象本身没有该方法。正确的参数获取方式是通过request.POST或request.GET这两个类字典对象来调用get()。常见错误写法与修正:
错误代码:# 视图函数中错误的取值方式 def pruebas_view(request): num1 = request.get('num1') num2 = request.get('num2') result = int(num1) + int(num2) return render(request, 'result.html', {'result': result})正确代码(根据表单提交方式选择POST或GET):
# 表单用POST提交时的正确写法 def pruebas_view(request): if request.method == 'POST': num1 = request.POST.get('num1') num2 = request.POST.get('num2') result = int(num1) + int(num2) return render(request, 'result.html', {'result': result}) return render(request, 'input_form.html')或者如果是GET提交:
def pruebas_view(request): num1 = request.GET.get('num1') num2 = request.GET.get('num2') if num1 and num2: result = int(num1) + int(num2) return render(request, 'result.html', {'result': result}) return render(request, 'input_form.html')额外排查点:
- 检查URL配置,确保没有错误地将
request作为参数直接传入视图函数,比如不要写path('pruebas/', views.pruebas_view(request)),正确写法是path('pruebas/', views.pruebas_view)。 - 核对教程代码中表单的
method属性,确保后端取值的request.POST/request.GET和表单提交方式一致。
- 检查URL配置,确保没有错误地将
内容的提问来源于stack exchange,提问作者Jesus Garcia
相关产品推荐
相关产品推荐

