django应用程序内部的Flask RESTful API错误:视图mysite.core.views.getallitems没有返回HttpResponse对象。它返回无不是
问题描述:
我想一个API添加到使用瓶我的Django应用程序,该API的目的是返回一些JSON数据,如果电子邮件地址和密码通过POST请求是正确的:django应用程序内部的Flask RESTful API错误:视图mysite.core.views.getallitems没有返回HttpResponse对象。它返回无不是
网址。潘岳:
urlpatterns = [
url(r'^getallitems', core_views.getallitems, name='getallitems'),
]
views.py:
@csrf_exempt
def getallitems(request):
def post(self):
try:
data = {
'name': 'Vitor',
'location': 'Finland',
'is_active': True,
'count': 28
}
return JsonResponse(data, status=201)
except Exception as e:
return HttpResponse(status=201)
错误:
Request Method: POST
Request URL: http://127.0.0.1:8000/getallitems
Django Version: 1.11.3
Exception Type: ValueError
Exception Value:
The view mysite.core.views.getallitems didn't return an HttpResponse object. It returned None instead.
Exception Location: /usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py in _get_response, line 198
Python Executable: /usr/bin/python
Python Version: 2.7.12
Python Path:
['/home/gaby/django projects/simple-signup-master/profile-model',
'/usr/local/lib/python2.7/dist-packages/virtualenv-15.1.0-py2.7.egg',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/usr/lib/python2.7/lib-old',
'/usr/lib/python2.7/lib-dynload',
'/home/gaby/.local/lib/python2.7/site-packages',
'/usr/local/lib/python2.7/dist-packages',
'/usr/lib/python2.7/dist-packages',
'/usr/lib/python2.7/dist-packages/PILcompat',
'/usr/lib/python2.7/dist-packages/gtk-2.0',
'/usr/lib/python2.7/dist-packages/ubuntu-sso-client']
Server time: Tue, 5 Sep 2017 07:25:25 +0000
我试图在HTTP响应返回JSON数据,他们都给我发现StackOverflow上相关的文章同样的错误,但他们没有解决我的问题。
答
你需要从函数返回getallitems
响应这样
@csrf_exempt
def getallitems(request):
def post(self):
try:
......
except:
.....
return post()
它解决了这一问题,谢谢@marni –
欢迎您 – AndMar