T.I.L (Django 1일 차)
2023. 4. 3. 17:40ㆍT.I.L (Today_I_Learned)
장고 - 오늘 배운 것
장고란??
더보기
- Django(장고)는 Python으로 만들어진 프레임워크 입니다.
웹의 동작 순서 및 개념
- 클라이언트 / 서버 / API 개념 정리
더보기
- 클라이언트 : '요청을 보내는 곳' 이라고 생각 하시면 됩니다. 주로 '나', '내 컴퓨터' 혹은 '크롬'을 클라이언트라고 얘기 합니다.
- 서버 : '요청을 받아서 응답 해 주는 곳' 이라고 생각 하시면 됩니다. 우리가 인터넷에서 웹페이지, 로그인등의 행동을 하고 난 후에 이루어지는 많은 과정들을 처리 해 줍니다.
- API : 데이터를 어떻게 주고 받자! 라고 정한 약속 이라고 생각하시면 됩니다.
- 웹의 동작 구조
더보기
![](https://blog.kakaocdn.net/dn/cn9trW/btr7iMPDFZF/2o92JxdTdRp75ZsHz1ZFU0/img.png)
웹의 동작 구조
- 클라이언트가 서버에게 필요한 정보를 요청(Request)합니다.
- 서버는 요청이 들어온 API를 확인하고 그에 맞는 HTML 혹은 data를 응답(Response) 해 줍니다.
![](https://blog.kakaocdn.net/dn/cn9trW/btr7iMPDFZF/2o92JxdTdRp75ZsHz1ZFU0/img.png)
응답(Response)의 두가지 경우
1. 페이지를 받는 경우
- HTML, CSS, Javascript가 적절하게 섞여있는 페이지를 받는 경우입니다.
- 우리가 흔히 접속하는 구글, 네이버 등등의 페이지를 보는 경우가 포함 되어 있습니다.
2. 데이터만 받는 경우
- 페이지나 화면은 크게 필요 없고, '데이터' 만을 받고 싶은 경우도 있습니다.
- 데이터 베이스에서 자료를 가져오거나, 다른 사람이 만든 데이터를 가져 올 때의 경우가 포함 되어있습니다.
웹 프레임워크
- 웹 프레임워크
더보기
- 프레임워크는 '개발을 도와주는 하나의 틀'
- '틀'은 결과물을 일정한 형태로 만들 수 있도록 도와줍니다.
- 때문에 우리가 비슷한 방법과 방식으로 완성 된 형태를 만들 수 있습니다.
- 파이썬 웹 프레임워크
더보기
- 최소한의 기능만 제공하는 형태 - Flask, Pyramid(서버를 만들기 위한 최소한의 기능들만 제공하는 철학을 가지고있는 프레임워크들입니다.)
- 많은 기능들을 제동하는 형태 - Django(웹서비스에 공통적으로 필요한 부분들이 미리 구현되어 있습니다.)
장고 MVT패턴
더보기
![](https://blog.kakaocdn.net/dn/dYVRkZ/btr7HgoREGH/Ba4lqdkZYRZA65nrJxAkoK/img.png)
MVT패턴은 장고가 일하는 방식을 보여줍니다.
![](https://blog.kakaocdn.net/dn/dYVRkZ/btr7HgoREGH/Ba4lqdkZYRZA65nrJxAkoK/img.png)
- M (Model)
- 데이터베이스의 모델 (ORM)
- 저장되고 사용되는 데이터의 형태
- V (View)
- 실질적으로 프로그램이 동작하는 부분
- url을 요청하고 응답하는 그 사이에 일어나는 '서비스'들이 존재하는 곳
- T (Template)
- 사용자에게 보여지는 부분
- 화면
*ORM
- Django의 ORM은 Python으로 데이터베이스 클래스 모델을 만들고, 만든 모델을 바탕으로 자동으로 데이터베이스를 다룰 수 있도록 도와줍니다.
- 흔히 '쿼리'(데이터베이스를 다루기 위해 사용하는 언어) 라고 하는 부분들을 작성 하지 않아도 되는 것 입니다.
예제) 글쓰기 모델 예제
class Post:
id = IntegerField()
title = CharField()
author = CharField()
context = TextField()
장고 프로젝트 만들기
더보기
- 가상환경을 조성해 줍니다. python -m venv venv
- 장고를 설치해 줍니다. python -m pip install django
- 장고 프로젝트를 만들어 줍니다. django-admin startproject <프로젝트명>
- ex) ex) django-admin startproject django_pracviews.py
장고 서버 실행
더보기
터미널에서 프로젝트 폴더 최상위로 이동한 뒤 'python manage.py runserver'를 입력하여 실행합니다.
'T.I.L (Today_I_Learned)' 카테고리의 다른 글
T.I.L - Django 팀 프로젝트 2 (0) | 2023.04.11 |
---|---|
T.I.L - Django 팀 프로젝트 1 (0) | 2023.04.10 |
T.I.L (코딩 테스트 중 만난 pop 함수) (5) | 2023.03.31 |
T.I.L (1) | 2023.03.30 |
T.I.L (알고리즘 문제의 문제 - 1) (0) | 2023.03.29 |