[Django] base64 인코딩

윤찬효·2023년 5월 29일
0

11주차

목록 보기
3/6

DRF로 프로젝트를 시작하여 DRF 기준으로 정리


models.py

from django.db import models
from users. models import MyUser

class Articles(models.Model):
    author = models.ForeignKey(MyUser, on_delete=models.CASCADE)
    title = models.CharField(max_length=100)
    content = models.TextField()
    image = models.ImageField(blank=True)
    ...생략...

모델을 먼저 ImageField를 지정해준다.

serializer.py

from rest_framework import serializers
from .models import Articles
from drf_extra_fields.fields import Base64ImageField

class ArticleCreateSerializer(serializers.ModelSerializer):
    image = Base64ImageField(required=False)
    class Meta:
        model = Articles
        fields = ["title","content","image"]

base64 라는 이미지 파일이 어떻게 받아오는지를 알아야 한다.

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAnsA ...생략...

drf_extra_field 모듈을 설치하여 base64ImageField를 사용 > base64 로 이미지를 저장하는 방식을 사용함

drf_extra_field 에 대해서는 다음 TIL에 정리할 예정


0개의 댓글