Django學習之限制請求 七

2022-06-13 20:00:13 字數 1934 閱讀 9537

在實際的工作中,可能由於需求,對某些請求,我們只限制傳送get請求或者post請求,不能傳送其它的請求,

那麼這個時候如何在django中實現了?

假設這裡寫乙個首頁的連線,訪問整個index的頁面,見在django中檢視的函式原始碼:

在檢視函式blog中,我們使用postman來傳送get請求,來看請求的結果,見postman的請求結果資訊:

我們再對該請求傳送post請求來看實際的效果,見postman的請求截圖:

事實上,在這個案例中,我們只需要傳送get請求就可以了,根本就不需要傳送post的請求,那麼如何在**中限制了,在django中

匯入

from django.views.decorators.http import require_http_methods
就可以解決該問題,也就是在檢視函式中增加裝飾器require_http_methods後,然後在列表中指定該檢視函式只能get請求或者是

post請求,在該案例中,我們的檢視函式只能get請求,繼續完善該**,見完善後的**:

完善如上的**後,再次傳送post的請求,就會返回405的狀態碼,見postman的請求截圖:

在實際的工作中,特別是編寫的檢視函式,如果只想讓某乙個請求的時候,其它請求不想讓訪問,可以使用require_http_methods來解決該問題,

這樣就不需要在檢視的函式中做的判斷了,如果不這樣寫,需要在檢視的函式中需要做判斷,假設只能是get請求,就得判斷如果是get請求返回

什麼內容,如果是post請求,程式怎麼處理,這樣檢視函式顯得比較複雜。

django 限制請求method

django內建的檢視裝飾器可以給檢視提供一些限制,比如這個檢視只能通過get的方式進行訪問等 django內建裝飾器的匯入 from django.views.decorators.http import require http methods方式1 檢視函式方式2 get的簡寫 檢視函式示例 ...

Django 學習筆記之七 實現分頁

接著上篇,在上篇的基礎上實現網頁資料分頁顯示 coding utf 8 from django.shortcuts import render,get object or 404 from blog.models import post from django.core.paginator impo...

nginx限制請求之四 目錄進行IP限制

高可用服務設計之二 rate limiting 限流與降級 nginx限制請求之一 ngx http limit conn module 模組 nginx限制請求之二 ngx http limit req module 模組 nginx限制請求之三 nginx lua redis 對請求進行限制 n...