在Api上工作我想在Django中给出基于类的视图。
这是我到目前为止所得到的:
scope "(:locale)", locale: /#{I18n.available_locales.join("|")}/ do
from django.conf.urls import url
from .api import Api
urlpatterns = [
url(r'^', Api.as_view())
]
从Postman调用此代码时,我不断遇到2个问题:
在邮递员中,我在Post标头中设置了一个值,但是当我使用调试器检查POST数据时,它就不存在了。
我一直收到错误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")
当我将post方法更改为get方法并使用Postman发送get请求时,我得到相同的结果。
答案 0 :(得分:5)
你需要这样做:
return super(Api, self).dispatch(request, *args, **kwargs)
您没有返回任何内容,默认情况下函数会返回None
。
此外,您可能希望自己的网址为r'^$'