企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
![](https://img.kancloud.cn/41/e0/41e066af9a6c25a24868d9667253ec98_1241x333.jpg) ## 常用的请求method 1.GET请求:GET请求一般用来向服务器索取数据,但不会向服务器提交数据,不会对服务器的状态进行更改。比如向服务器获取某篇文章的详情。 2.POST请求:POST请求一般是用来向服务器提交数据,会对服务器的状态进行更改。比如提交一篇文章给服务器。 ### 限制请求装饰器 Django内置的视图装饰器可以给视图提供一些限制。比如这个视图只能通过GET的method访问等。以下将介绍一些常用的内置视图装饰器 1.`django.views.decorators.http.require_http_methods`: 这个装饰器需要传递一个允许访问的方法的列表 ``` 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 ```