내배캠/TIL
TIL/16/20230403
woongpang
2023. 4. 3. 17:20
728x90
파이썬 장고 실무 기초(1)
웹의 동작 순서 및 개념
- 용어 정리 - 클라이언트 / 서버 / API
- 클라이언트 : '요청을 보내는 곳' 이다. 주로 '나', '내 컴퓨터' 혹은 '크롬'을 클라이언트라고 얘기 한다.
- 서버 : '요청을 받아서 응답 해 주는 곳' 이다. 우리가 인터넷에서 웹페이지, 로그인등의 행동을 하고 난 후에 이루어지는 많은 과정들을 처리 해 준다.
- API : 데이터를 어떻게 주고 받자! 라고 정한 약속
- 웹의 동작 구조
- 웹의 동작 구조클라이언트가 서버에게 필요한 정보를 요청(Request)한다.
- 서버는 요청이 들어온 API를 확인하고 그에 맞는 HTML 혹은 data를 응답(Response) 해 준다.
- 페이지를 받는 경우
- HTML, CSS, Javascript가 적절하게 섞여있는 페이지를 받는 경우
- 우리가 흔히 접속하는 구글, 네이버 등등의 페이지를 보는 경우가 포함된다.
- 데이터만 받는 경우
- 페이지나 화면은 크게 필요 없고, '데이터' 만을 받고 싶은 경우
- 데이터 베이스에서 자료를 가져오거나, 다른 사람이 만든 데이터를 가져 올 때의 경우가 포함된다.
Python의 Web Framework!?
- 파이썬 웹 프레임워크란?
- 프레임워크는 개발을 도와주는 하나의 틀
- '틀'은 결과물을 일정한 형태로 만들 수 있도록 도와준다.
- 때문에 우리가 비슷한 방법과 방식으로 완성 된 형태를 만들 수 있다.
- 프레임워크는 개발을 도와주는 하나의 틀
- 파이썬 웹 프레임워크의 종류
- 최소한의 기능만 제공하는 형태 : Flask, Pyramid
- 서버를 만들기 위한 최소한의 기능들만 제공하는 철학을 가지고있는 프레임워크들이다.
- 경량 프레임워크
- 로그인, DB등의 관리를 직접해 주어야 한다.
- 관리자 페이지 구축을 따로해 주어야 한다.
- 이미 많은 기능들을 제공하고 있는 형태 : Django
- 웹서비스에 공통적으로 필요한 부분들이 미리 구현되어 있다.
- 거대한 프레임워크
- 많은 유틸(기능)들이 이미 만들어져있다.
- DB, 로그인, Admin, 패스워드 암호화 등 이미 구축되어 있다.
- 커뮤니티와 문서가 잘 되어있다.
- 최소한의 기능만 제공하는 형태 : Flask, Pyramid
Django 알아보기
- 장고의 MVT 패턴
- MVT패턴은 장고가 일하는 방식을 보여줍니다! 외우지 말고, 그림을 보면서 흐름을 파악하면 앞으로 개발을 하는 데에 많은 도움이 될 것이라고 하셨다...!
- M (Model)
- 데이터베이스의 모델 (ORM)
- 저장되고 사용되는 데이터의 형태
- T (Template)
- 사용자에게 보여지는 부분
- 화면
- V (View)
- 실질적으로 프로그램이 동작하는 부분
- url을 요청하고 응답하는 그 사이에 일어나는 '서비스'들이 존재하는 곳
- M (Model)
- MVT패턴은 장고가 일하는 방식을 보여줍니다! 외우지 말고, 그림을 보면서 흐름을 파악하면 앞으로 개발을 하는 데에 많은 도움이 될 것이라고 하셨다...!
- ORM 이란?
- Django의 ORM은 Python으로 데이터베이스 클래스 모델을 만들고, 만든 모델을 바탕으로 자동으로 데이터베이스를 다룰 수 있도록 도와줍니다.
예제) 글쓰기 모델
class Post:
id = IntegerField()
title = CharField()
author = CharField()
context = TextField()
장고 프로젝트 만들기
** vs코드를 사용한 장고 프로젝트 세팅
*** vs코드 콘솔창에서 아래 명령어를 실행할때 꼭 터미널 명령어 pwd 를 실행하고 현재 실행하려고 하는 폴더의 위치를 꼭 확인하자.
- 장고 설치
python3 -m pip install django #나는 MAC이라서, python 대신 python3 사용
- 장고 버전 확인
python3 -m django --version
- 장고 프로젝트 만들기
django-admin startproject <프로젝트명>장고 서버 실행django-admin startproject <프로젝트명> # ex) django-admin startproject SpartaDjango
- 장고 서버 실행
# 외부 <프로젝트명> 경로에서 아래의 명령문 실행 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