Python Django程序在Postman中工作,但不连接到iOS应用程序
我创建了一个简单的Python程序,它将根据用户输入检索数据并将数据添加到数据库中。为此,我使用了POST方法。该程序在Postman中成功运行,但当我使用API调用从iOS应用程序调用该程序时,该程序显示500错误。错误在exception.py和base.py中。我的程序如下Python Django程序在Postman中工作,但不连接到iOS应用程序,python,django-rest-framework,Python,Django Rest Framework,我创建了一个简单的Python程序,它将根据用户输入检索数据并将数据添加到数据库中。为此,我使用了POST方法。该程序在Postman中成功运行,但当我使用API调用从iOS应用程序调用该程序时,该程序显示500错误。错误在exception.py和base.py中。我的程序如下 @api_view(["POST"]) def mg_grt(request): if request.method == 'POST': name = request.POST['name']
@api_view(["POST"])
def mg_grt(request):
if request.method == 'POST':
name = request.POST['name']
word = name.lower()
greet = Greet.objects.filter(grett=word)
if greet != 0:
d = Resp(rsp=word)
d.save()
r_val = Resp.objects.all()
rt = random.choice(r_val)
return HttpResponse(rt)
else:
return HttpResponse("Sorry...I didn't understand")
else:
return HttpResponse("Bad Request")
错误是:
File "/Library/Python/2.7/site-packages/django/core/handlers/exception.py", line 41, in inner
response = get_response(request)
File "/Library/Python/2.7/site-packages/django/core/handlers/base.py", line 187, in _get_response
response = self.process_exception_by_middleware(e, request)
File "/Library/Python/2.7/site-packages/django/core/handlers/base.py", line 185, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/Library/Python/2.7/site-packages/django/views/decorators/csrf.py", line 58, in wrapped_view
return view_func(*args, **kwargs)
File "/Library/Python/2.7/site-packages/django/views/generic/base.py", line 68, in view
return self.dispatch(request, *args, **kwargs)
File "/Library/Python/2.7/site-packages/rest_framework/views.py", line 483, in dispatch
response = self.handle_exception(exc)
File "/Library/Python/2.7/site-packages/rest_framework/views.py", line 443, in handle_exception
self.raise_uncaught_exception(exc)
File "/Library/Python/2.7/site-packages/rest_framework/views.py", line 480, in dispatch
response = handler(request, *args, **kwargs)
File "/Library/Python/2.7/site-packages/rest_framework/decorators.py", line 53, in handler
return func(*args, **kwargs)
File "/Users/abijith/Test5/tgpi/views.py", line 21, in mg_grt
name = request.POST['name']
File "/Library/Python/2.7/site-packages/django/utils/datastructures.py", line 85, in __getitem__
raise MultiValueDictKeyError(repr(key))
MultiValueDictKeyError: "u'name'"
[31/Aug/2018 10:20:45] "POST /grt/ HTTP/1.1" 500 14099
似乎您没有从iOS应用程序发送
name
。让我试试看如果name
是必填字段,您应该返回400个错误的请求HttpResponse作为最佳做法。您可以尝试在访问name之前记录Request.data吗?