zoukankan      html  css  js  c++  java
  • Django限制请求method

    1.常用的请求method

    1.1 GET请求:

    GET请求一般用来向服务器索取数据,但不会向服务器提交数据,不会对服务器的状态进行更改.比如向服务器获取某篇文章的详情.

    1.2 POST请求:

    POST请求一般是用来向服务器提交数据,会对服务器的状态进行更改.比如提交一篇文章给服务器.

    2.限制请求装饰器

    Django内置的视图装饰器可以给视图提供一些限制.比如,这个视图只能通过GET的method访问等.以下将介绍一些常用的内置视图装饰器.

    2.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.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
    

    2.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
    

    2.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
    
  • 相关阅读:
    一款简单易用的.Net 断言测试框架 : Shouldly
    单元测试 使用 Effort 内存数据库 报错
    解决 对路径bin oslyn..的访问被拒绝
    数据库设计:多选查询与匹配
    oracle快速创建主键
    models中,字段参数limit_choices_to的用法
    models中,对于(Small)IntegerField类型字段的choices参数在前端的展示
    Django ModelForm组件
    会议室预定
    Django admin管理工具
  • 原文地址:https://www.cnblogs.com/apollo1616/p/10331676.html
Copyright © 2011-2022 走看看