最近使用restful风格去写api的时候,发现当我调用post
和get
方法是没问题的,但是当我调用delete
方法就会出现问题:
看了一下View
,发现你并没有重写这个方法
# -*- coding:utf-8 -*-
from django.views.generic import View
from django.http import HttpResponse
import json
def feedback_infos(code, msg, data):
ret = {}
ret["code"] = code
ret["msg"] = msg
ret["data"] = data
ret_info = json.dumps(ret)
return HttpResponse(ret_info, content_type='application/json')
class AJAXResponseMixin(object):
def render_to_response(self, errcode, errmsg, data=[]):
return feedback_infos(errcode, errmsg, data)
class AJAXView(AJAXResponseMixin, View):
def __init__(self, **kwargs):
super(AJAXView, self).__init__(**kwargs)
self.request = None
self.args = None
self.kwargs = None
def get(self, request, *args, **kwargs):
self.request = request
self.args = args
self.kwargs = kwargs
return self.handle_context_data(**kwargs)
def post(self, request, *args, **kwargs):
self.request = request
self.args = args
self.kwargs = kwargs
return self.handle_context_data(**kwargs)
#加进去
def delete(self,request, *args, **kwargs):
self.request = request
self.args = args
self.kwargs = kwargs
return self.handle_context_data(**kwargs)
def put(self,request, *args, **kwargs):
self.request = request
self.args = args
self.kwargs = kwargs
return self.handle_context_data(**kwargs)
def handle_context_data(self, **kwargs):
context = self.get_context_data(**kwargs).get('code')
return HttpResponse(json.dumps(context), content_type='application/json')
def get_context_data(self, **kwargs):
context = {}
return context