[Django] Pinterest 만들기 (7)
Mixin 소개 및 Commentapp 구현
Mixin - Detailview 내부에서 form을 사용할 수 있게 된다.
우선 commentapp을 만들고 settings.py에 commentapp을 추가해준다. 그리고 urls.py도 작성해준다.
python manage.py startapp commentapp
다음 사진과 같이 model을 만들고
다음 사진과 같이 form을 만든 후 migrations 파일을 만들고 migrate 작업을 해준다.
views.py도 다음 사진과 같이 작성해준다. urls.py에 create 주소를 연결해주고
그리고 다음 사진과 같이 create.html을 만든다. 전반적인 내용들은 앞에서 만든 것들과 동일하기에 설명을 생략했다.
그리고 해당 주소로 접속하면 다음 사진과 같이 잘 나온다.
하지만 우리가 원하는 것은 게시글 아래에 comment form을 넣는 것이다. 따라서 다음 사진과 같이 articleapp/detail.html에 다음과 같이 include로 create.html을 가져오고 input에서 value에 다음 사진과 같이 값을 넣어준다
그리고 실행을 하면 에러가 뜬다.
에러를 해결하기 위해 처음에 언급한 Mixin을 사용하게 된다. articleapp/views.py 내에 있는 detailview 함수에 다음 사진과 같이 form을 추가해준다.
그러면 다음과 같이 게시글에 comment form이 잘 나온다.
views.py에 다음과 같은 함수를 넣어준다. 저기에서 article에서 article_pk로 넘기는 값은 아까 create.html에서 input 태그에 작성한 value 값을 가져오는 것이다.
Commentapp 마무리
articleapp/detail.html 에서 댓글이 있으면 댓글을 보여주도록 다음과 같은 코드를 작성한다.
그리고 detail.html을 다음과 같이 만든다.
urls.py에서 delete와 연결될 주소도 작성해주고 다음 사진과 같이 delete
view도 만들어준다.
모바일 디버깅, 반응형 레이아웃
원래 runserver 명령어를 실행하면 내 컴퓨터에서 나만 들어갈 수 있다. 하지만 다음 명령어를 실행하고 장고의 세팅을 만져주면 핸드폰과 같이 다른 곳에서도 접속이 가능하다.
python manage.py runserver 0.0.0.0:8000
Author And Source
이 문제에 관하여([Django] Pinterest 만들기 (7)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@cychann/Django-Pinterest-만들기-7저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)