728x90
점프 투 장고를 참고하여 학습,제작하였습니다.
1.댓글 기능
1-1 댓글기능 모델 생성
voca 모델을 외래키로 사용하여 만들었다.
1-2. 변경된 데이터베이스 작업파일 생성
python manage.py makemigrations
1-3.테이블 생성
python manage.py migrate
1-4.sqlite로 테이블 생성확인
2.댓글 기능 생성
2-1.댓글 폼 생성
댓글 폼을 생성한다.
폼속성 action: 서버쪽 스크립트 파일을 지정
action시 post전송한다.
{% url 'answer_create' voca.id %} : answer_create 별칭의 voca.id를 전달한 url
2-2.URL 매핑
path('answer/create/<int:voca_id>', views.answer_create , name='answer_create')를 추가
1. 폼이 url를 호출한다.
2.url이 view를 호출한다.
2-3.뷰 생성
매개변수
request: request.POST.get('content') -> FORM에서 POST로 전송된 'contest'값을 받는다
voca_id: Voca 모델과 연결된 외래키이다.
2-4.실제 사이트
댓글을 작성후 댓글 달기를 누르면 데이터가 저장된다.
3.댓글조회
{{ voca.comment_set.count }}
voca의 외래키(foreign key)로 가진 모델에 접근 하기
_set : Manager(외래키를 가진 model의 모든 instance를 반환) 명명법
count:개수 세기
{% for comment in voca.comment_set.all %}
<li>{{ comment.content }}</li>
{% endfor %}
모든 댓글을 출력하는 반복문
4.결과
728x90
'BackEnd > Django' 카테고리의 다른 글
[Django] Static (0) | 2024.05.04 |
---|---|
[Django] URL 별칭 (1) | 2024.05.02 |
[Django] 조회와 템플릿 (1) | 2024.05.02 |