Django内置的视图装饰器可以给视图提供一些限制。比如这个视图只能通过GET的method访问等。以下将介绍一些常用的内置视图装饰器。
1、django.http.decorators.http.require_http_methods:这个装饰器需要传递一个允许访问的方法的列表。比如只能通过GET的方式访问。那么示例代码如下:
from django.views.decorators.http import require_http_methods @require_http_methods(["GET"]) def my_view(request): pass
2、django.views.decorators.http.require_GET:这个装饰器相当于是require_http_methods([‘GET‘])的简写形式,只允许使用GET的method来访问视图。示例代码如下:
from django.views.decorators.http import require_GET @require_GET def my_view(request): pass
3、django.views.decorators.http.require_POST:这个装饰器相当于是require_http_methods([‘POST‘])的简写形式,只允许使用POST的method来访问视图。示例代码如下:
from django.views.decorators.http import require_POST @require_POST def my_view(request): pass
4、django.views.decorators.http.require_safe:这个装饰器相当于是require_http_methods([‘GET‘,‘HEAD‘])的简写形式,只允许使用相对安全的方式来访问视图。因为GET和HEAD不会对服务器产生增删改的行为。因此是一种相对安全的请求方式。示例代码如下:
from django.views.decorators.http import require_safe @require_safe def my_view(request): pass
原文:https://www.cnblogs.com/zheng-weimin/p/10404036.html