개인 과외사이트 Q/A 게시판 만들기
Todo를 기초적으로 완성했으니 학생들이 질문과 답변을 남길수 있는 QnA 게시판을 만든다.
모델은 Question과 Answer클래스로 나누고, 질문에 스샷을 첨부할수 있도록 Image 클래스를 만들어서 Foriegnkey로 qestion과 연결해준다.
class Question(models.Model):
subject = models.CharField(max_length=200, verbose_name='질문제목')
content = models.TextField(verbose_name='질문내용')
create_date = models.DateTimeField(auto_now=True, verbose_name='작성일시')
author = models.ForeignKey(User, on_delete=models.CASCADE)
modify_date = models.DateTimeField(auto_now=True)
def __str__(self):
return self.subject
def get_absolute_url(self):
return reverse("board:detail", kwargs={"question_id": self.id})
class Answer(models.Model):
question = models.ForeignKey(Question, on_delete=models.CASCADE, verbose_name='답변제목')
content = models.TextField(verbose_name='답변내용')
create_date = models.DateTimeField(auto_now=True, verbose_name='작성일시')
author = models.ForeignKey(User, on_delete=models.CASCADE)
modify_date = models.DateTimeField(auto_now=True)
class Image(models.Model):
question = models.ForeignKey(Question, on_delete=models.CASCADE, verbose_name='imagepost')
image= models.ImageField(upload_to='board/images', verbose_name='photo', blank=True)
이렇게 구성하면 Answer, Image는 Quesion의 id에 종속되어서, qeustion이 삭제될경우 같이 삭제된다 (on_delete=models.CASCADE)
만약 Image 클래스를 별도로 만들지 않고 Question 클래스의 밑에 넣으면 사진을 한장밖에 첨부할수 없으니 주의하자!!
Author And Source
이 문제에 관하여(개인 과외사이트 Q/A 게시판 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@polaris0027/개인-과외사이트-QA-게시판-만들기저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)