Sparta Coding Club/Today I Learned [TIL]

[TIL] #DAY - 017 - 파이썬 장고 실무 기초 (1) (내일배움캠프AI 3기)

양한마리 2022. 9. 22. 22:54
728x90



아모르겠고 장고 가보자고

그렇게 장고를 시작한지 언.. 1일... 

아 뭔가 할만한거같기두 하면서도 모르겠는부분..

긍정이라고는 없어진 4주차...

긍정적인 내일을 위해서

오늘도 이렇게 야무지게 TIL 씁니다.

화.이.팅

 



[목차]

01. 웹의 동작 순서 및 개념

02. Python의 Web Framework!?

03. Django 알아보기

04. 장고 프로젝트 만들기


01. 웹의 동작 순서 및 개념


1) 용어 정리 - 클라이언트 / 서버 / API

  • 클라이언트 : '요청을 보내는 곳' 이라고 생각 하시면 됩니다. 주로 '나', '내 컴퓨터' 혹은 '크롬'을 클라이언트라고 얘기 합니다.
  • 서버 : '요청을 받아서 응답 해 주는 곳' 이라고 생각 하시면 됩니다. 우리가 인터넷에서 웹페이지, 로그인등의 행동을 하고 난 후에 이루어지는 많은 과정들을 처리 해 줍니다.
  • API : 데이터를 어떻게 주고 받자! 라고 정한 약속 이라고 생각하시면 됩니다.

2) 웹의 동작 구조

  • 클라이언트가 서버에게 필요한 정보를 요청(Request)합니다.
  • 서버는 요청이 들어온 API를 확인하고 그에 맞는 HTML 혹은 data를 응답(Response) 해 줍니다.

스파르타 코딩 클럽 참조

  • 페이지를 받는 경우
    • HTML, CSS, Javascript가 적절하게 섞여있는 페이지를 받는 경우입니다.
    • 우리가 흔히 접속하는 구글, 네이버 등등의 페이지를 보는 경우가 포함 되어 있습니다.
  • 데이터만 받는 경우
    • 페이지나 화면은 크게 필요 없고, '데이터' 만을 받고 싶은 경우도 있습니다.
    • 데이터 베이스에서 자료를 가져오거나, 다른 사람이 만든 데이터를 가져 올 때의 경우가 포함 되어있습니다.

02. Python의 Web Framework!?


1) 파이썬 웹 프레임워크란?

웹 프레임워크란?

  • 프레임워크는 개발을 도와주는 하나의 틀
    • → '틀'은 결과물을 일정한 형태로 만들 수 있도록 도와줍니다
    • → 때문에 우리가 비슷한 방법과 방식으로 완성 된 형태를 만들 수 있어요

2) 파이썬 웹 프레임워크의 종류

  • 최소한의 기능만 제공하는 형태 : Flask, Pyramid
    • 경량 프레임워크
    • 최소한의 기능들만 제공
    • 로그인, DB등의 관리를 직접해 주어야 한다.
    • 관리자 페이지 구축을 따로해 주어야 한다.
  • 이미 많은 기능들을 제공하고 있는 형태 : Django
    • 거대한 프레임워크
    • 많은 유틸(기능)들이 이미 만들어져있음
    • DB, 로그인, Admin, 패스워드 암호화 등 이미 제공
    • 커뮤니티와 문서가 잘 되어있다.

 


03. Django 알아보기


1) 장고의 MVT 패턴

 

  • M (Model)
    • 데이터베이스의 모델 (ORM)
    • 저장되고 사용되는 데이터의 형태
  • T (Template)
    • 사용자에게 보여지는 부분
    • 화면
  • V (View)
    • 실질적으로 프로그램이 동작하는 부분
    • url을 요청하고 응답하는 그 사이에 일어나는 '서비스'들이 존재하는 곳

2) ORM 이란?

Django의 ORM은 Python으로 데이터베이스 클래스 모델을 만들고, 만든 모델을 바탕으로 자동으로 데이터베이스를 다룰 수 있도록 도와줍니다.

예제) 글쓰기 모델

class Post:
    id = IntegerField()
    title = CharField()
    author = CharField()
    context = TextField()

 


04. 장고 프로젝트 만들기


* Visual Studio Code사용

1) 장고 설치

python3 -m pip install django #python -> python3

2) 장고 버전 확인

python3 -m django --version

3) 장고 프로젝트 만들기

django-admin startproject <프로젝트명>

예시) <프로젝트명> = mysite

  • 외부 <프로젝트명>  - 프로젝트의 컨테이너 입니다. * 원하는 이름으로 변경 가능
  • 내부 <프로젝트명> - 프로젝트의 실제 파이썬 패키지 입니다. (예시 : mysite.urls)
  • mysite/__init__.py - 현재 디렉토리를 파이썬 패키지로 인식하기 위한 빈 파일
  • (중요)mysite/settings.py - 현재 장고 프로젝트의 설정 / 구성
  • (중요)mysite/urls.py - 현재 장고 프로젝트의 URL 선언
  • mysite/wsgi.py - WSGI 호환 웹 서버가 프로젝트를 제공하기 위한 진입 파일
  • manage.py - 현재 장고 프로젝트와 다양한 방식으로 상호 작용하는 명령 유틸리티

4) 장고 서버 실행

- 외부 <프로젝트명> 경로에서 아래의 명령문 실행

python3 manage.py runserver                    # 127.0.0.1:8000

python3 manage.py runserver 5000               # 127.0.0.1:5000

python3 manage.py runserver 192.168.0.10:5000  # 192.168.0.10:5000

오늘은 여기까지..


728x90
반응형