首頁  >  文章  >  後端開發  >  如何在 drf 類別基礎 api 中對 put、get、post、delete 函數使用相同的 url 和類

如何在 drf 類別基礎 api 中對 put、get、post、delete 函數使用相同的 url 和類

PHPz
PHPz轉載
2024-02-08 20:45:13443瀏覽

如何在 drf 类基础 api 中对 put、get、post、delete 函数使用相同的 url 和类

問題內容

在我的視圖檔案中我想要這樣的邏輯:

類別文章(apiview):

def get(self, reqeust, id):
    #logic
def put(self, request, id):
    #logic  
def post(self, requst, id):
    #logic
def delete(self, request, id):
    #logic

我想要這樣的句柄網址:

/articles/int:pk # 顯示 id=pk 的文章 /articles/add # 將文章加入資料庫 等等...

但我有一個問題,我不想對不同的網址使用不同的類,同時我希望如果我調用 /articles/add 、 post 方法調用,實現此目的的最佳方法是什麼?

sry,我對 python 和 drf 非常陌生,我將感謝幫助我以最好的方式做到這一點,

我處理這個問題的方式完全錯誤嗎? 我只是不想在 apiview 方法中使用 drf 為每個帖子、獲取...提供不同的類別。


正確答案


您在此處描述的內容已經存在:即ViewSet   [drf-doc]。這將不同的方法組合在同一個類別中。通常,使用相同的序列化器等。因此它將通常非常相似的邏輯分組。

為了正確路由項目,Router  [drf-doc]#用來製作對應的路徑。有些帶有主鍵,例如 GET、PUT、PATCH 和 DELETE,而 POST 則沒有主鍵。然後您可以進一步自訂它。

以上是如何在 drf 類別基礎 api 中對 put、get、post、delete 函數使用相同的 url 和類的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:stackoverflow.com。如有侵權,請聯絡admin@php.cn刪除