Django의 FBV와 CBV 비교 분석 상세 정보

1473 단어 DjangoFBVCBV
Django를 공부하는 과정에서views.py가 논리적으로 처리할 때 두 가지 보기의 쓰기 스타일, FBV와 CBV를 접했다
FBV는 function based views, 즉 함수 기반 보기를 가리킨다
CBV는classbasedviews, 즉 클래스 기반 보기를 가리킨다
클래스 기반의 보기는 함수 기반의 보기보다 클래스의 계승 봉인 등을 더욱 편리하게 실현할 수 있다.일상적으로 사용할 때, 양자의 차이는 주로request의 요청 방법에 대한 처리 방식에 있다

FBV


우리는 함수에 전송된request의method를 통해 클라이언트가 어떤 요청을 했는지 판단하고 해당하는 조작을 하여 해당하는 데이터를 되돌려줍니다.

def fbv(request):
  if request.method == 'GET':
    return HttpResponse("GET")
  elif request.method == 'POST':
    return HttpResponse("POST")
  else:
    return HttpResponse("OTHER")
urls에 있습니다.py에서, 우리는 아래의 형식을 사용하여 경로를 쓴다

path('test/', views.fbv),

CBV


우리는 클래스에서 상응하는 요청 방법을 정의하고 방법에서 상응하는 논리적 처리를 실현하며 상응하는 데이터를 되돌려준다. 이런 클래스 기반의 보기는restful 스타일의 쓰기에 매우 적합하다.

class CBV(View):
  @csrf_exempt
  def get(self):
    return HttpResponse("GET")

  @csrf_exempt
  def post(self):
    return HttpResponse("POST")

  @csrf_exempt
  def put(self):
    return HttpResponse("PUT")

urls에 있습니다.py에서, 우리는 아래의 형식을 사용하여 경로를 쓴다

path('test/', views.cbv.as_view()),
Django의 FBV와 CBV의 비교 분석에 대한 상세한 설명을 드리겠습니다. 더 많은 Django FBV와 CBV의 비교 내용은 저희 이전의 글을 검색하거나 아래의 관련 글을 계속 훑어보시기 바랍니다. 앞으로 많은 응원 부탁드립니다!

좋은 웹페이지 즐겨찾기