✅ 목표
1. 파이썬을 활용해 사용자의 요청이 들어올 때마다 웹페이지를 찍어내는 공장을 만들자
2. 사용자로부터 투고를 받아 페이지를 생성하거나, 사용자마다 다른 페이지를 보여주는 개인화
* windows conda 가상환경에서 cmd와 vsc로 실행
3. Web Application Server 만들기
1) Web server와 Web Application Server의 차이
Web Server는 필요로 하는 페이지가 미리 만들어져 있어서 사용자가 접속 시 준비되어있는 페이지에 접속.
Web Application Server는 페이지를 만드는 공장이라고 할 수 있는 프로그램만 있으면, 요청에 따라 해당하는 페이지에 데이터를 올려 html 형태로 응답.
따라서 Web Server는 Static하다고 하며, WAS는 Dynamic하다고 한다.
WAS의 단점 : Web Server에 비해 느리고, 공부할 것이 많다.
WAS의 장점 : 유지보수가 용이함, 개인화된 페이지를 만들 수 있음
2) WAS를 활용한 랜덤 숫자 페이지 생성
myapp.views.py의 index 함수를 수정해서 접속할 때마다 임의의 숫자를 출력
3) 홈페이지 읽기 기능 구현하기
WAS의 READ 기능은 homepage, article(상세보기) 작업으로 나뉜다.
(1) 기본 HTML 골격 만들기
(2) for 문 활용 <li> tag 생성
위의 ol 태그 내 단어들을 id와 title, body와 함께 topics라는 리스트에 넣어주고,
for 문을 통해 반복 시켜 각각의 li 태그를 완성.
이때 a href 태그를 넣어 클릭시 topics의 id에 맞게 read/id/로 이동
(3) 상세보기 페이지 생성
HTMLTemplate이라는 함수를 만들어서 특정 html 코드를 재사용가능하게 만들자
index 함수의 return 값에 htmltemplate을 출력하도록 시키고, index 함수 내에 ariticle이라는 변수를 추가하고,
그 변수를 htmltemplate 동작 시 인자로 넣어주자
read 함수를 수정하여 index 페이지에서 각 링크를 클릭 시 보여지는 화면을 다르게 생성하자.
read 함수 내에서 클릭하는 링크의 id에 맞는 topic[body]를 가져오도록 해서 article 변수를 만들고
이렇게 만들어진 article 변수를 HTMLTemplate 함수의 인자로 넣어 HTML 코드를 생성하여 새로운 페이지를 보여준다.
추가로 Django 클릭 시에는 index 페이지, 즉 홈페이지로 돌아갈 수 있는 링크를 삽입했다.
✍ <li>, <ol>, <ul> 태그의 차이
모두 목록을 보여주는 태그이다.
li 태그는 • 으로, ol 태그는 번호로 나열한다.
ul 태그는 각 태그 간 그룹으로 나눌 때 사용한다.
'파이썬 웹개발' 카테고리의 다른 글
[GIT 활용] vscode 활용 git에 프로젝트 폴더 전체 올리기 (0) | 2024.01.16 |
---|---|
[Django web app 생성] 5. django로 web application 삭제, 수정 기능(delete, update) 구현 (1) | 2024.01.16 |
[Django web app 생성] 4. django로 web application 생성 기능(form) 구현 (0) | 2024.01.12 |
[Django web app 생성] 2. django로 project 내 app 만들기 (0) | 2024.01.10 |
[Django web app 생성] 1. conda 가상환경 세팅, django 시작 (1) | 2024.01.10 |