Django2.0-views(1)-限制请求装饰器

常用的请求method

  1. GET请求: 一般用来向服务器索取数据,但是不会向服务器提交数据,不会对服务器的状态进行更改。
  2. POST请求:一般是用来向 服务器提交数据,会对服务器的状态进行更改。

限制请求装饰器

Django内置的视图装饰器可以给视图提供一些限制。比如限制某个视图只能通过GETmethod访问等。以下是一些常用的内置视图装饰器。

  1. django.views.decorators.http.require_http_methods:这个装饰器需要传递一个允许访问的方法的列表。比如只能通过GET的方式访问。那么示例代码如下:

     from django.views.decorators.http import require_http_methods
    
     @require_http_methods(["GET"])
     def index(request):
         pass
    
  2. django.views.decorators.http.require_GET:这个装饰器相当于是require_http_methods(['GET'])的简写形式,只允许使用GETmethod来访问视图。示例代码如下:

     from django.views.decorators.http import require_GET
    
     @require_GET
     def index(request):
         pass
    
  3. django.views.decorators.http.require_POST:这个装饰器相当于是require_http_methods(['POST'])的简写形式,只允许使用POSTmethod来访问视图。示例代码如下:

     from django.views.decorators.http import require_POST
    
     @require_POST
     def index(request):
         pass
    
  4. django.views.decorators.http.require_safe:这个装饰器相当于是require_http_methods(['GET','HEAD'])的简写形式,只允许使用相对安全的方式来访问视图。因为GETHEAD不会对服务器产生增删改的行为。因此是一种相对安全的请求方式。示例代码如下:

     from django.views.decorators.http import require_safe
    
     @require_safe
     def index(request):
         pass
    
  • 可以使用装饰器限制请求类型,并且利用已有的类型进行各自操作

    from django.views.decorators.http import require_http_methods
    
    @require_http_method(['GET', 'POST'])
    def index(request):
        if request.method == 'GET':
            pass
        else:
            pass
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值