亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

是否可以在另一個視圖中發送一個視圖的http請求?

是否可以在另一個視圖中發送一個視圖的http請求?

慕尼黑的夜晚無繁華 2024-01-15 21:07:18
我想在視圖中發送 http 請求。請求 URL 與另一個視圖相關。像這樣的東西:class View_A(APIView):    def get(self, request):       return Response({'foo':'bar'})class View_B(APIView):    def post(self, request):        # Here I would want to send a request to View_A, something like this:        request_view_A = View_A.as_view().get('URL_FROM_VIEW_A')        # ...        return Response({'foo2':'bar2'})我已經看到這個問題有不同的焦點,但是對我不起作用,因為來自View_A(get)的http方法與來自(post)的http方法不同View_B。
查看完整描述

2 回答

?
慕虎7371278

TA貢獻1802條經驗 獲得超4個贊

您可以通過以下方式做到這一點:


class View_B(APIView):

    def post(self, request):

        httpresponse = View_A().get(request)

        # …

        return Response({'foo2':'bar2'})

我們這里并沒有真正發出 HTTP 請求,我們只是進行方法調用并用作request參數。


話雖如此,這通常意味著您應該“封裝”邏輯。通常,我們會定義額外的函數或類(通常不是視圖)來實現隨后在兩個視圖中使用的通用邏輯。


查看完整回答
反對 回復 2024-01-15
?
躍然一笑

TA貢獻1826條經驗 獲得超6個贊

這個例子:


import requests?

#...

class View_B(APIView):

? ? def post(self, request):

? ? ? ? response = requests.get(your_url)

? ? ? ? # ...

? ? ? ? return Response({'foo2':'bar2'})


查看完整回答
反對 回復 2024-01-15
  • 2 回答
  • 0 關注
  • 157 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號