1. Form vs Model Form
class PostForm(forms.Form):
title = forms.CharField()
content = forms.CharField(widget=forms.Textarea)
class PostForm(forms.ModelForm):
class Meta:
model = Post
fields = ['title', 'content'] # '__all__' 설정시 전체 필드 추가
2. Serializer
fields = '__all__' # json 파일로 통신할 때 key 값이 될 속성들 지정
3. Model Form vs Serializer
4. view 생성
serializer_class = ProductSerializer # 직렬화 지정
def get_queryset(): # GenericAPIView의 get_queryset() 오버라이딩 (아래의 list함수에서 get_querryset() 수행)
def get(): # API 요청이 GET 방식인 경우 get() 오버라이딩
return self.list(request, *args, **kwargs) # ListModeMixin의 list()함수 수행 (자동으로 목록 처리 및 출력 수행하는 함수)
5. GenericAPIView
6. URL 파싱
7. REST Response 결과
1. view 생성
serializer_class = ProductSerializer # 직렬화 지정
def get_queryset(): # GenericAPIView의 get_queryset() 오버라이딩 (아래의 retrieve함수에서 get_querryset() 수행)
def get(): # API 요청이 GET 방식인 경우 get() 오버라이딩
return Product.objects.all().order_by('id') # 모두 가져오는 이유는 URI의 pk 값과 일치하는 행을 찾기 위해서
return self.list(request, *args, **kwargs) # RetrieveModeMixin의 retrieve()함수 수행 (자동으로 pk 값을 갖는 행 추출 및 출력 함수)
4. URL 파싱
5. REST Response 결과