웹의 동작 순서 및 개념
- 용어 정리
- 클라이언트 : '요청을 보내는 곳'. 주로 '나','내 컴퓨터' 혹은 '브라우저'를 클라이언트라고 이야기한다.
- 서버 : '요청을 받아서 응답을 해주는 곳'
- API : 데이터를 어떻게 주고 받자라고 정한 약속
-> url을 통해 클라이언트가 요청을하고 서버가 응답을 받을 때 url을 API라고함.
-> 많은 웹 페이지들이 API를 사용해서 페이지를 보여주고 기능들을 실행함.
- 웹의 동작 구조
클라이언트가 서버에게 필요한 정보를 요청(Request)한다. 서버는 요청이 들어온 API를 확인하고 그에 맞는 HTML 혹은 data를 응답(Response) 해준다.
1) 페이지를 받는 경우 : HTML, CSS, Javascript를 적절하게 섞여서 클라이언트에게 보여줌.
ex. 주로 네이버, 구글에 접속 할 때
2) 데이터만 받는 경우 : 페이지나 화면은 크게 필요 없고, '데이터'만 받는 경우
ex. 데이터 베이스에서 자료를 가져오거나 다른 사람이 만든 데이터를 가져올 때
Web Framework
- 웹 프레임워크 ?
개발을 도와주는 하나의 틀이다.
-> '틀'은 결과물을 일정한 형태로 만들어 주기 위해 미리 제작되어있는 것
- 파이썬 웹 프레임워크 종류
1) 최소한의 기능만 제공하는 형태
: 기본적인 요소들만 제공하고, 개발자들에게 모든걸 맡김.
- flask
- pyramid
2) 이미 많은 기능을 제공하고 있는 형태
: 웹서비스에 공통적으로 필요한 부분들이 미리 구현되어 있음.
- Django
- 비교
Django
Django의 MVT 패턴
MVT 패턴은 장고가 일하는 방식을 보여준다.
- M (Model)
- 데이터베이스의 모델 (ORM)
- V (View)
- 실질적으로 프로그램이 동작하는 부분
- url을 요청하고 응답하는 그 사이에 일어나는 '서비스'들이 존재하는 곳
- T(Template)
- 사용자에게 보여지는 부분
ORM 이란?
데이터베이스 클래스 모델을 만들고, 만든 모델을 바탕으로 자동으로 데이터베이스를 다룰 수 있도록 도와준다.
쿼리를 작성하지 않고도 데이터베이스를 다룰 수 있다.
class Post:
id = IntegerField()
title = CharField()
author = CharField()
context = TextField()
< Django 프로젝트 만들기 >
- settings.py : 생성한 장고 프로젝트의 전체의 환경 설정을 담당
- urls.py : 장고 프로젝트 전체의 API를 담당함. (접속할 수 있는 url주소를 만들어주고 관리해주는 공간 )
< 장고를 사용한 화면 띄우기 >
1) 장고 실행 해보기
2) 화면에 글자 띄우기
3) 화면에 내가 만든 html 띄우기