def as_view(cls, **initkwargs):
view_mapping_kwargs = initkwargs.pop("view_mapping_kwargs", {})
view = super(EndpointSet, cls).as_view(**initkwargs)
def view(request, *args, **kwargs):
self = cls(**initkwargs)
mapping = cls.view_mapping(**view_mapping_kwargs)
for verb, method in mapping.items():
if hasattr(self, method):
setattr(self, verb, getattr(self, method))
self.requested_method = mapping.get(request.method.lower())
self.args = args
self.kwargs = kwargs
self.request = request
return self.dispatch(request, *args, **kwargs)
functools.update_wrapper(view, cls, updated=())
functools.update_wrapper(view, cls.dispatch, assigned=())
return csrf_exempt(view)
评论列表
文章目录