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数据,他们都给我发现*上相关的文章同样的错误,但他们没有解决我的问题。

你需要从函数返回getallitems响应这样

@csrf_exempt 
def getallitems(request): 
    def post(self): 
     try: 
      ...... 
     except: 
      ..... 
    return post() 
+0

它解决了这一问题,谢谢@marni –

+0

欢迎您 – AndMar