보기에서 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 메소드가 View_B
(post)의 http 메소드와 다르기 때문에 나를 위해 작동하지 않습니다 .
다음과 같이 할 수 있습니다.
class View_B(APIView):
def post(self, request):
httpresponse = View_A().get(request)
# …
return Response({'foo2':'bar2'})
여기서는 실제로 HTTP 요청을하지 않고 단순히 메서드를 호출하고 request
매개 변수로 사용 합니다.
즉, 이는 종종 논리를 "캡슐화"해야 함을 의미합니다. 일반적으로 하나는 일반적으로 뷰가 아닌 추가 함수 또는 클래스를 정의하며 두 뷰에서 사용되는 공통 논리를 구현합니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다