[Django] Pinterest 만들기 (7)

2341 단어 djangodjango

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

좋은 웹페이지 즐겨찾기