본문으로 바로가기

image파일 업로드 | serializer

category TIL 2022. 11. 25. 23:41

게시글 작성에 이미지파일을 넣어서 작성해도 db에 들어가지않는 버그를 어제 발견하고 오늘 해결해보려고 했다.

먼저 admin 에서 사진을 넣어서 테스트를 해봤는데 사진은 잘 저장이 되었다. 그럼 어디서 사진을 못받아오는지 생각을 했는데 프론트의 폼에서는 append 해서 넘어가는걸 확인했기 때문에 시리얼라이저에서 이미지파일은 따로 설정해줘야하나? 생각이 들었고 postserializer를 수정하고 진행했는데 이미지 파일이 잘 저장되는걸 확인했다.

# 게시글 생성
class PostCreateSerializer(serializers.ModelSerializer): # 게시글 생성
    title=serializers.CharField(min_length=5, max_length=100)
    content=serializers.CharField(min_length=5, max_length=200)
    img = serializers.ImageField(use_url=True)

    class Meta:
        model = Post
        fields = ("title","content","img","category")
        read_only_fields=("img",)