프로젝트 명 : 팀 소개 페이지 제작
사용하는 언어 : 파이썬, Html, css, JS
사용하는 패키지 : 파이썬-flask, mongoDB
여태까지는 하나의 프로젝트 당 하나의 Html(index.html) 을 랜더링 해 왔다.
----
@app.route('/')
def home():
return render_template('index.html')
----
왜냐하면 연습하는 과정에서 클라이언트와 서버가 어떻게 통신을 하며 어떻게 데이터를 주고 받는지 배워야 했기 때문이다.
허나 팀 소개 페이지 제작 프로젝트에서는 가장 처음 도메인으로 접속 시 보여주는 home 페이지와는 별도로 팀원들 개개인을 소개하는 페이지를 추가적으로 보여줘야 한다.
<div class="card" style="width: 19%;" onclick="location.href='#';">
<div class="card_img" style="background-image: url('../static/image/LEEJAEKWAN.png'); background-position: 10% 100%"></div>
<div class="card-body">
<p class="card-text">
이름 : 이재관<br/>
취미 : 유튜브 감상<br/>
MBTI : INTJ<br/>
TMI : 코로나로 인한 컨디션 저하<br/>
</p>
</div>
</div>
해당 div 태그는 home 페이지에서 팀원의 사진과 간략한 정보를 보여주는 일종의 카드 형식의 태그이다.
이 카드를 클릭하여 onclick 이벤트가 발생할 경우, 해당 팀원의 개인 소개 페이지로 주소를 이동해야 한다.
@app.route('/')
def home():
return render_template('home.html')
@app.route('/minsoo')
def minsoo():
return render_template('index.html')
우선 새로운 route 를 만들어 줘야 한다.
클라이언트와 서버는 항상 request, response 를 주고 받으며 서로 소통한다.
로컬 환경에서 초보적인 html 을 연습할 경우 <a href="index.html"></a> 이렇게 html 페이지를 넘어갈 수 있겠지만,
실제 서비스에서는 사용자가 프로젝트를 통째로 다운받아서 html 을 열람하는 것이 아닌, 그 때 그 때 부분적으로 클라이언트가
'이 html 을 보여줘' 라고 보내는 요청에 따라 해당 주소만을 클라이언트가 response 하여 전송해 준다.
따라서 클라이언트는 카드를 클릭할 시 '이 팀원의 개인 소개 페이지를 보여줘' 라고 서버에 요청하는 것이고,
클라이언트는 /minsoo 라는 주소로 요청을 받아 html 을 보여줘야 한다.
<div class="card" style="width: 19%;" onclick="location.href='/minsoo';">
<div class="card_img" style="background-image: url('../static/image/minsoo.jpeg')"></div>
<div class="card-body">
<p class="card-text">
이름 : 김민수<br/>
취미 : 유튜브 감상<br/>
MBTI : ???<br/>
TMI : 적성검사 무조건 공무원<br/>
</p>
</div>
</div>
클라이언트는 onclick 이벤트가 발생 시
location.href='/minsoo'
라는 키워드를 사용하여 서버측으로 '/minsoo 라는 주소를 호출하여 내가 원하는 페이지를 로딩해달라' 라고 요청한다.
'내일배움캠프_개발일지 > 내일배움캠프_미니프로젝트' 카테고리의 다른 글
| 내일배움캠프 미니 프로젝트 '팀 소개 페이지 만들기' 완료 후 KPT 정리 (0) | 2022.11.20 |
|---|---|
| 내일배움캠프_미니프로젝트 5일차, 게시판을 만들어보자. (1) | 2022.11.18 |
| 팀 미니 프로젝트 "팀 소개 페이지 만들기" 결과물 정리. (0) | 2022.11.18 |
| 내일배움캠프_미니프로젝트_팀소개SA(Starting Assignments) 3일차 (0) | 2022.11.16 |
| 내일배움캠프_미니프로젝트_팀소개SA(Starting Assignments) (0) | 2022.11.14 |