Pycharm開發(fā)Django限制請求method
常用的請求method:
GET請求:GET請求一般用來向服務(wù)器索取數(shù)據(jù),但不會(huì)向服務(wù)器提交數(shù)據(jù),不會(huì)對服務(wù)器的狀態(tài)進(jìn)行更改。比如向服務(wù)器獲取某篇文章的詳情。
POST請求:POST請求一般是用來向服務(wù)器提交數(shù)據(jù),會(huì)對服務(wù)器的狀態(tài)進(jìn)行更改。比如提交一篇文章給服務(wù)器。
限制請求裝飾器:
Django內(nèi)置的視圖裝飾器可以給視圖提供一些限制。比如這個(gè)視圖只能通過GET的method訪問等。以下將介紹一些常用的內(nèi)置視圖裝飾器。
django.http.decorators.http.require_http_methods:這個(gè)裝飾器需要傳遞一個(gè)允許訪問的方法的列表。比如只能通過GET的方式訪問。那么示例代碼如下:
?from django.views.decorators.http import require_http_methods
?@require_http_methods(["GET"])
?def my_view(request):
? ? ?pass
django.views.decorators.http.require_GET:這個(gè)裝飾器相當(dāng)于是require_http_methods(['GET'])的簡寫形式,只允許使用GET的method來訪問視圖。示例代碼如下:
?from django.views.decorators.http import require_GET
?@require_GET
?def my_view(request):
? ? ?pass
django.views.decorators.http.require_POST:這個(gè)裝飾器相當(dāng)于是require_http_methods(['POST'])的簡寫形式,只允許使用POST的method來訪問視圖。示例代碼如下:
?from django.views.decorators.http import require_POST
?@require_POST
?def my_view(request):
? ? ?pass
django.views.decorators.http.require_safe:這個(gè)裝飾器相當(dāng)于是require_http_methods(['GET','HEAD'])的簡寫形式,只允許使用相對安全的方式來訪問視圖。因?yàn)镚ET和HEAD不