Joh*_*eer 1 python django django-class-based-views
在Api上工作我想在Django中给出基于类的视图.
这是我到目前为止所得到的:
from django.conf.urls import url
from .api import Api
urlpatterns = [
url(r'^', Api.as_view())
]
Run Code Online (Sandbox Code Playgroud)
from django.http import HttpResponse
from django.utils.decorators import method_decorator
from django.views.decorators.csrf import csrf_exempt
from django.views.generic import View
class Api(View):
@method_decorator(csrf_exempt)
def dispatch(self, request, *args, **kwargs):
super(Api, self).dispatch(request, *args, **kwargs)
def post(self, request, *args, **kwargs):
return HttpResponse("result")
def get(self, request):
return HttpResponse("result")
Run Code Online (Sandbox Code Playgroud)
从Postman调用此代码时,我不断遇到2个问题:
邮递员我在Post标题中设置了一个值但是当我使用调试器来检查POST数据时它就不存在了.
我一直在收到错误 The view api.api.Api didn't return an HttpResponse object. It returned None instead.
当我将post方法更改为get方法并使用Postman发送get请求时,我得到相同的结果.
你需要这样做:
return super(Api, self).dispatch(request, *args, **kwargs)
Run Code Online (Sandbox Code Playgroud)
您没有返回任何内容,None默认情况下会返回一个函数.
此外,您可能希望您的网址为 r'^$'