멋쟁이사자처럼동아리에 합격하고 백엔드 수업을 하고 있다.
많은 것을 배우기에 까먹지 않게 복습을 꾸준히 하도록 노력할 거이다!!
Server란 ??
그동안 server에 대해서 많이 듣고 봤지만 정확한 개념을 말하라 했을 때 자신이 없는 "나"를 발견했다.
정확한 개념을 숙지하고 가도록 하자.

서버는 이처럼 사용자가 요청하는 것에 응답만 하는 기계라고 생각하면 쉽다.
여기서 요청은 주로 프론트엔드, 사용자, 서버가 한다. (서버도 요청을 함)
요청 - Request
응답 - Response
쉽게 예를 들어 네이버 웹툰 주소를 요청하면 -> 웹툰 페이지를 응답으로 보여줄 것이다.
이때 JSON을 보내주면 보통 CSR방식이고 PAGE를 보내주면 SSR 방식이다.
이 사이에서 통신 프로토콜을 HTTP라 하고, 쉽게 말해서 요청과 응답사이의 약속이라고 알고가면 되겠다.
개발을 하다보면 404(NOT FOUNT)라는 페이지를 본 적이 있을 것이다.
이러한 이유는 사용자가 이상한 주소로 요청을 보냈을 때 뜨는 오류 페이지인데
보통 이걸 HTTP STATUS CODE라고 한다.
참고) 200번대(성공), 400번대(클라이언트 잘못), 500번대(서버 잘못) 등등..
다음은 JSON에 대해 알아보자

위와 같이 JSON은 파이썬 딕셔너리형태랑 매우 유사한 것을 볼 수 있다.
보통 서버와 클라이언트가 소통할 때 이 형태를 가장 많이 사용하는 것을 알고가자.
Server에서 알아두어야 할 것
URL
요청
응답
이 세가지만 알고 가자 !!
Django란??
다음은 Django에 알아보자
장고는 Python을 이용하여 서버를 쉽게 만들 수 있는 프레임 워크(일정한 틀안에서 코드를 짜는 것)이다.
이 친구는 이미 머리 좋은 개발자가 구조를 다 만들어 놨는데 이 구조를 MTV라는 구조라고 한다.
M: Model (데이터 참고)
T: Template(홈페이지)
V: View (데이터 창고에서 꺼낸 데이터를 가공하는 부분, 알고리즘)

기본적으로 Django 셋팅 구조는 이와 같다.

이제 Django 셋팅을 해보자!!

Window와 Mac은 코드가 살짝 다르니 유의하자.
위에 코드를 자기가 사용하는 툴에서 터미널을 열고 쳐주면 된다.
*참고) powershell에서 실행하면 안되고 bashshell에서 실행해야 된다 반드시!!
Django REST Framework란??
우리가 메인으로 사용할 것이다.
과연 RESTful이란 무엇인가?
URL : 자원(사진, 동영상, 데이터)를 나타내는 것 ex) user/1
HTTP Method: GET, POST, PUT, PATCH, DEKETE
URL 작성 규칙 : 소문자만 사용, (-)을 사용, 명사를 사용 등등
-> 이렇게
URL을 통해 자원을 명시받고
HTTP Method를 통해
CRUD를 하는 것
DRF란??
->장고에서 REST ful 하게 만드는 것을 말함
-CRUD-
Create : 생성(POST)
-> 회원을 생성하는 역할
Read: 조회(GET)
-> 어떤 회원이 있는지 조회하는 역할
Update: 수정(PUT)
-> 어떤 회원이 회원정보를 수정할 때 수정해주는 역할
Delete: 삭제(DELETE)
-> 어떤 회원이 홈페이지 회원 탈퇴할 때 회원정보를 없애주는 역할\
요부분은 바로 안 와닿을 수 있으니 나중에 실습 때 이런게 있다라고만 기억해두면 좋다.
마지막으로 아까 세팅하던 서버를 Ctrl + C 를 눌러 꺼준 후
주의) 반드시 가상환경이 켜져있는 것을 확인 해야됨!

후에 Config 폴더에, settings.py에
INSTALLED_APPS 이 부분에
'rest-framework',
를 저장해야된다. 위치 x
Config
- setting.py : 설치한 파일들을 넣거나, 옵션을 다루는 곳
- urls.py : url을 모으는 곳
App
- models.py : 데이터 창고를 만드는 곳
- serializers.py : 데이터 창고를 json으로 만드는 곳
- views.py: 데이터를 가공하는 알고리즘을 작성하는 곳

하지만 하다가 오류인듯 오류아닌 것이 발생할 것이다!
바로

python.manage.py runserver를 했을 때 뜨는 문구인데
나도 처음에 빨간색이라 당황했지만 당황할 필요가 없다!
이 문구는
1. 프로젝트 안에서 모델이 변경 되었지만, 변경사항이 데이터베이스에 적용이 안됐을 때
2. 프로젝트 자체에서 해당 앱의 초기 마이그레이션이 미적용 됐거나
3. 협업 중 다른 개발자가 만든 마이그레이션 파일을 받아서 이를 적용하지 않았을 때 생긴다
이는
manage.py makemigrations
python manage.py migrate
코드를 쳐주면 마이그레이션 파일을 실행 후 데이터베이스 스키마를 업데이트 해줌으로써 빨간 문구가 사라질 것이다!
'Python Jango' 카테고리의 다른 글
| DRF의 Model, Serializer (0) | 2024.05.24 |
|---|