[점프투장고] 이미지 수정 문제
안녕하세요, 몇 날 며칠을 고생하다 안되서 질문 드립니다.ㅠㅠ
점프투장고 게시판을 완성하고 추가적으로 게시글에 이미지를 첨부하고자 합니다.
글 작성시 이미지 등록은 잘 되고, 수정시도 이미지가 잘 들어가는데,,
문제는 글 수정시, 새로운 이미지를 첨부하면 기존 이미지를 없애고 싶은데, 잘 구현이 안되네요..
현재는 글 수정시 새로운 이미지를 첨부하면, 기존 이미지 + 새로운 이미지가 같이 등록이 됩니다..
혹시 어떤 방식으로 구현해 볼 수 있을까요?
model.py: 클래스 추가
class Photo(models.Model):
question = models.ForeignKey(Question, on_delete=models.CASCADE, null=True)
image = models.ImageField(upload_to=image_name_and_path, null=True, blank=True)
question_view.py : 질문등록/질문수정 동일하게 내용 추가
if form.is_valid() : # and photo_form.is_valid():
question = form.save(commit=False)
question.author = request.user #추가한 속성 author 적용
question.create_date = timezone.now()
question.save()
# name 속성이 imgs인 input 태그로부터 받은 파일들을 반복문을 통해 하나씩 가져온다
for img in request.FILES.getlist('imgs'):
# Photo 객체를 하나 생성한다.
photo = Photo()
# 외래키로 현재 생성한 question의 기본키를 참조한다.
photo.question = question
# imgs로부터 가져온 이미지 파일 하나를 저장한다.
photo.image = img
# 데이터베이스에 저장
photo.save()
question_form.html : 내용 추가
<form method="post" class="post-form my-3" enctype="multipart/form-data">
<div class="form-group">
<label>이미지 업로드</label>
<input type="file" name="imgs">
</div>
uno 님 625
M 2021년 3월 3일 11:47 오전
1개의 답변이 있습니다. 1 / 1 Page
수정할 때는 다음처럼 등록된 이미지를 먼저 삭제하면 되지 않을까요?
question.photo_set.delete()
박응용 님
2021년 3월 3일 1:27 오후