작성
·
166
2
안녕하세요 강사님, 강의 잘 듣고 있습니다.
다름이 아니라 DRF ImageField의 url 출력을 변경하는 과정에서 문의가 있어서 글을 남깁니다.
url 출력 방식을 변경하는 방법으로
def get_serializer_context(self):
"""
Extra context provided to the serializer class.
"""
return {
'request': None,
'format': self.format_kwarg,
'view': self
}
이렇게 context를 가져오는 함수를 overriding하시면서 request를 None으로 만드셨는데 request가 ImageField 출력에 영향을 줄뿐 아니라 다른부분에도 영향을 줄 수 있지 않나요? 이렇게 어디에 영향을 주는지 이렇게 바꿔도 되는지 알 수 있는 방법이 있을까요?
답변 1
0
안녕하세요. 독자님.
고려해볼만한 질문입니다.
저는 소스에 익숙해 있는 상태라, get_serializer_context() 의 request 가 다른 곳에 쓰이지 않는 것을
알고 있어서 그렇게 한 것입니다.
이 점이 확신이 없다면, to_representation() 메소드를 오버라이딩하면 됩니다.
클래스형뷰는 오버라이딩 용으로 만들어진 코드들이므로 자주 보기를 권장 드립니다.
감사합니다.