[TIL: 0314] Django

ryun·2023년 3월 14일
0

TIL

목록 보기
29/34

웹서비스 개발 시,
잘 만들어진 것들을 가져다 좋은 환경에서 잘 쓰기만 하면 되는 세상

Framework 이해하기

누군가 만들어 놓은 코드를 재사용하는 것은 이미 익숙한 개발 문화
웹서비스도 재사용 가능!

서비스 개발에 필요한 기능들을 미리 구현해서 모아 노은 것 = 프레임워크

  • 프레임(뼈대, 틀) + 워크(일하다)
    일정한 뼈대, 틀을 가지고 일하다
    제공받은 도구들과 뼈대, 규약을 가지고 무언가를 만드는 일
    여러 도구들과 규약을 제공

  • 장점
    개발속도가 빠르다
    검증된 코드를 가져다가 사용할 수 있다
    협업이 용이
    반복이 줄어든다

  • 단점
    러닝커브가 가파르다
    선택의 폭이 좁다

장고 배워야 하는 이유

  1. 파이썬으로 작성된 프레임워크
    파이썬이라는 언어의 강력함과 거대 커뮤니티
  2. 수많은 여러 유용한 기능들
  3. 검증된 웹 프레임워크
  • 화해, 토스, 두나무, 당근마켓, 요기요 등
  • 유명 서비스들이 많이 사용한다는 것 == 안정적으로 서비스 할 수 있다는 검증 (내가 사용하는 프레임워크가 검증됐나? 확인이 필요)

클라이언트와 서버

클라이언트 - 서버 구조

오늘날 대부분의 웹 서비스의 구조
클라이언트, 서버 각각 하나의 컴퓨터
상호작용에 대한 다이어그램클라이언트는 서버에 요청 > 서버는 응답 전송

  • 클라이언트
    웹 사용자 인터넷에 연결된 장치
    서비스 요청 주체
  • 서버
    웹 페이지, 사이트 또는 앱을 저장하는 컴퓨터
    클라이언트가 웹 페이지에 접근하려고 할 때 서버에서 클라이언트 컴퓨터로 웹 페이지 데이터를 응답해 사용자의 웹 브라우저에 표시됨
    서비스 응답 주체

우리가 사용하는 웹은 클라이언트 - 서버 구조로 이루어져 있음
앞으로 우리가 배우는 것도 이 클라이언트 - 서버 구조 만드는 법
장고는 서버 구현하는 웹 프레임워크

장고가 데이터 주면 클라이언트에서 데이터 받아서 html 파일 만듦(이 부분은 Vue.js)

서버 쪽을 만드는게 장고 (with 데이터베이스)
웹 페이지를 만드는게 뷰

프로젝트 생성하기

  • django 설치 (버전 명시)
    pip install django==3.2.18

  • 프로젝트 생성
    django-admin startproject firstpjt

  • 서버 실행
    python manage.py runserver

장고의 세 가지 구조

  • Model
  • View
  • Template

하나의 프로젝트가 하나의 서비스
프로젝트 내 -> 각각의 앱(기능 단위)

  • 현재 경로를 의미하는 . 을 붙여서 프로젝트 생성하면 된다 (앱만들때는 안붙여도 된다)
    django-admin startproject firstpjt .
    firstpjt는 보통 config로 만든다

url은 서버로 요청할 요청의 형태

코드 작성의 순서

  1. urls.py
  2. views.py
  3. templates

데이터의 흐름을 이해해보자는 맥락
클라이언트가 요청하면 urls로 가고,
urls는 views를 찾고, views는 templates를 찾는다
요청받을 준비, 요청 받았을 때 할 일 준비 순으로 간다

0개의 댓글