인프런 커뮤니티 질문&답변

판타지아님의 프로필 이미지
판타지아

작성한 질문수

Do It! 장고+부트스트랩: 파이썬 웹개발의 정석

FBV (Function Based View)로 블로그 상세 페이지 만들기

FBV로 블로그 상세 페이지 만들기 문의

작성

·

234

0

안녕하세요. 강의 재밌게 듣고 있습니다.

 FBV로 블로그 상세 페이지 만들기 

를 듣다가 궁금한 점이 생겼는데요. 

 

single_page.html에서 

 

<nav>
<a href="/blog/">Blog</a>
</nav>

 

위와 같이 navigation 바를 설정하는데 저렇게 navigation 바를 설정하면 어떤 경로로 Blog페이지로 연결되는지 구체적으로 알 수 있을까요?

 

/blog/ 라는 경로만 봤을 때는 어떤 페이지를 어떻게 참조해서 index.html 페이지가 렌더링 되는건지 잘 모르겠습니다.

답변 2

1

SungYong Lee님의 프로필 이미지
SungYong Lee
지식공유자

안녕하세요. 강의 재미있게 듣고 계신다니, 제가 감사합니다. 

방문자가 브라우저로 /blog/ 라는 경로로 가는 행위는,  서버 입장에서는 그 url에 해당하는 동작을 요청하는 행위입니다.

장고 서버는 그 경로(/blog/)로 요청을 받으면, 우선 프로젝트 폴더의 urls.py (do_it_django_prj/urls.py) 에서 해당하는 경로가 있는지 찾아봅니다. 

do_it_django_prj/urls.py에는 blog/ 로 시작하는 요청은 blog.urls 에 정의되어 있다고 적혀있습니다. 

path('blog/', include('blog.urls)),

그래서 서버는 이제 blog앱 폴더의 urls.py를 둘러봅니다. 

blog앱의 urls.py에는 /blog/라고 되어 있는 경로 뒤에 아무것도 없으면, 같은 폴더(blog폴더) 내의 views.py의 index라는 함수에 가서 뭘 돌려줘야 할지 찾아보라고 되어 있습니다. 

blog/views.py에 가보면, index 함수가 있습니다. 

여기에서는 db에서 Post 모델로 저장된 레코드들을 모두 가져오라고 되어 있습니다. 그리고 index.hmtl에 그 내용을 붙여서 방문자에게 return 하라고 되어 있죠. 

 

이에 대한 내용은 장고(django)의 기본 원리에도 설명되어 있습니다. 참고해보세요. 

혹시 더 궁금한 내용이 있다면 또 질문 남겨주세요. 

 

0

판타지아님의 프로필 이미지
판타지아
질문자

상세한 설명 감사드립니다. 명쾌하게 이해했습니다.

판타지아님의 프로필 이미지
판타지아

작성한 질문수

질문하기