Nemo

Nemo 关注TA

路漫漫其修远兮,吾将上下而求索。

Nemo

Nemo

关注TA

路漫漫其修远兮,吾将上下而求索。

  •  普罗旺斯
  • 负责帅就完事了
  • 写了1,493,291字

该文章投稿至Nemo社区   Python  板块 复制链接


Python: Django限制请求method

发布于 2019/07/04 14:32 2,414浏览 0回复 1,092


常用的请求method:

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

限制请求装饰器:

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



django.http.decorators.http.require_http_methods:  

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

from django.views.decorators.http import require_http_methods

@require_http_methods(["GET","POST"])
def my_view(request):
pass


django.views.decorators.http.require_GET

这个装饰器相当于是require_http_methods(['GET'])的简写形式,只允许使用GETmethod来访问视图。

from django.views.decorators.http import require_GET

@require_GET
def my_view(request):
pass


django.views.decorators.http.require_POST

  这个装饰器相当于是require_http_methods(['POST'])的简写形式,只允许使用POSTmethod来访问视图。

from django.views.decorators.http import require_POST

@require_POST
def my_view(request):
pass


django.views.decorators.http.require_safe

这个装饰器相当于是require_http_methods(['GET','HEAD'])的简写形式,只允许使用相对安全的方式来访问视图。因为GETHEAD不会对服务器产生增删改的行为。因此是一种相对安全的请求方式。

from django.views.decorators.http import require_safe

@require_safe
def my_view(request):
pass





点赞(0)
点了个评