emluy 개발 일기

Django 웹 9 - 100글자만 보여주고 링크로 다 보여주기, app 2개 만들고 url 연결하기 (수정중) 본문

웹 개발/Django

Django 웹 9 - 100글자만 보여주고 링크로 다 보여주기, app 2개 만들고 url 연결하기 (수정중)

yulme 2020. 5. 2. 22:55
SMALL

0. personpost 프로젝트 안에 person 앱 있는 상태 (setting8참고)

person 앱 : 각 사용자의 프로필 간단히 보여줌 -> 각 사용자가 쓴 글 간단히 보여줌

postdetail 앱 : 각 사용자가 쓴 글 자세히 보기

 

 

새로운 앱 postdetail을 만들고

settings.py에 앱 등록 후

templates폴더 만들고 postdetail폴더 만들어서 detail.html 만들고 views.py 기본 틀 작성 

urls.py 파일을 만듬 (원래 urls.py는 프로젝트에만 있는 파일임)

새로운 앱 postdetail의 urls.py에 다음과 같이 작성 (원래 project의 urls.py 파일에 있는 양식 복사해와서 수정

-> 이 때 postdetail앱에 있는 html파일들에 대해서만 url 써야함. 복사해와서 postdetail에 없는 html들 url을 안 지우면 중복으로 오류남)

#postdetail의 urls.py

새로운 앱 postdetail의 url들을 project의 urls.py에 include('postdetail.urls)로 가져옴

#personpost의 urls.py

그러면 실제 웹사이트에서 include한 postdetail에 있는 html들이 나타날 때 주소는 어떻게 뜰까? 

=> postdetail의 urls.py에서 path('1',) 라고 하고 include로 path('post/',include(postdetail.urls.)) 이렇게 가져오면?!

실제 웹사이트에서는 127.8.0.0/post/1 이라고 url이 뜬다!

import 해줘야 쓸 수 있다!

 

postdetail의 views.py 에 전에 만들어 놓은 model인 Post 가져옴

 

각 작성자가 쓴 게시물 간략하게 보이는 것을 ...more 링크 눌렀을 때 자세히 볼 수 있게 해주자.

 

#personpost 앱의 post.html

=>postdetail 앱의 detail.html 가도록 a 태그에 url 써줌

여기서 의문 ? {%url 'postdetail/detail'%} 이렇게 쓰면 왜 오류나는가 그럼 앱끼리 html 이름 겹치면 어떻게하나???

 

 

 

이제 더보기 링크 클릭했을 때 뜨는거 해야함

people model도 가져와야하나?

반응형
Comments