인프런 커뮤니티 질문&답변

준영님의 프로필 이미지
준영

작성한 질문수

파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트

장고가 media 파일을 다루는 방법

argument 질문

작성

·

279

0

아래 argument에 post는 무엇인가요?

    def photo_tag(self,post):
        if post.photo:
            return mark_safe(f'<img src="{post.photo.url}" style="width:75px;"/>')
        return None

 

    def message_length(self, post):
        return f"{len(post.message)}글자"

모델명은 Post인데 어디서 나온 값인지 잘 모르겠네요

파이썬 문법공부가 부족해서 잘 모르는것 같네요

답변 1

0

이진석님의 프로필 이미지
이진석
지식공유자

안녕하세요.

이는 장고의 ModelAdmin의 기능입니다. 구현한 ModelAdmin의 list_display에 지정한 이름으로서

  1. 관련 모델에 정의한 컬럼명을 쓰실 수도 있고,
  2. 관련 모델에 정의한 인자없는 인스턴스 함수명을 쓰실 수도 있고,
  3. 관련 모델에 정의한 property를 쓰실 수도 있고,
  4. 현 ModelAdmin의 인스턴스 함수명을 쓰실 수도 있습니다.

를 지정하실 수 있는 데요. 지정하시면 관련 모델의 admin 목록 페이지에서 목록을 구성할 때, 컬럼 데이터로서 사용이 되게 됩니다.

말씀하신 경우는 4번에 해당합니다. 4번의 경우 해당 인스턴스 함수 호출를  ModelAdmin에서 자동으로 호출을 해주게 되구요. 이때 관련 모델 인스턴스를 ModelAdmin에서 넘겨주게 됩니다.

준영님의 프로필 이미지
준영

작성한 질문수

질문하기