django神奇装饰器

2018-09-29  本文已影响0人  麒麟楚庄王

django神奇装饰器

def require_http_methods(request_method_list):

"""

Decorator to make a view only accept particular request methods.  Usage::

@require_http_methods(["GET", "POST"])

def my_view(request):

# I can assume now that only GET or POST requests make it this far

# ...

Note that request methods should be in uppercase.

"""

    def decorator(func):

@wraps(func)

def inner(request, *args, **kwargs):

if request.methodnot in request_method_list:

response = HttpResponseNotAllowed(request_method_list)

log_response(

'Method Not Allowed (%s): %s', request.method, request.path,

                    response=response,

                    request=request,

                )

return response

return func(request, *args, **kwargs)

return inner

return decorator

上一篇 下一篇

猜你喜欢

热点阅读