한 걸음씩

[Django] Understanding Django and framework 본문

Django

[Django] Understanding Django and framework

winter17 2023. 3. 20. 11:58

1.  Framework

  • 웹 애플리케이션을 빠르게 개발할 수 있도록 도와주는 도구
  • 개발에 필요한 기본 구조, 규칙, 라이브러리 등을 제공
  • 기본적인 구조와 규칙을 제공하기 떄문에 필수적인 개발에만 집중 할 수 있음(개발 속도 ↑)
  • 유지보수와 확장에 용이해 소프트웨어의 품질을 높임

 

2.  django

  • python 기반의 대표적인 웹 프레임워크

 

3.  client and server

  • Client : 서비스를 요청하는 주체(웹 사용자의 인터넷이 연결된 장치, 웹 브라우저)
  • Server : 클라이언트 요청에 응답하는 주체(웹 페이지, 앱을 저장하는 컴퓨터)

 

4.  django 프로젝트 및 가상환경

반드시 숙지하기

 ► django 프로젝트 생성 전 루틴

 

1. 가상환경 생성(바탕화면에서 폴더 생성 후 터미널 실행) : python -m venv venv(폴더 속에 venv라는 폴더 생성됨)

  • 아래의 vs code 실행 방법대로 실행 후 pip list로 가상환경(venv)인지 확인
  • git clone했다면 가상환경을 만들어야하는데 requirements.txt 파일 내용 설치 필요하기 때문에 pip install - r requirements.txt 명령어를 통해 설치하고 pip list 명령어를 통해 확인하기

2. 가상환경 활성화(mac)(터미널 사용시에만) : source venv/bin/activate (파이썬 처음 설치한 그 상태로 남아있음, 글로벌과 가상의 차이)

    비활성화 : deactivate

3. django 설치 : pip install django==3.2.18

💡django 설치 전 vscode 가상환경 확인하기 : ctrl+shift+p → select interpreter → python 3.9.13('venv': venv) 클릭

pip list 입력시 나오는 의존성 목록

4. 의존성 파일 생성(패키지 설치시마다 진행) : pip freeze > requirements.txt 

파일명은 암묵적 약속 (예외x)

  • venv파일을 .gitignore파일에 add할 것!!
  • git init(git 초기화)

 

► git관련 설정

: git add . → git commit -m '메시지' → git push하면 github에 업로드

: pair가 git clone을 통해 파일을 pull하면 venv파일이 없는 상태로 pull이 되는데

본인의 가상환경을 만들어야함 (프로젝트 전 생성 루틴 1번 다음으로 설명)

 

 

► django 프로젝트 생성 후 루틴

  1. django 프로젝트 생성 : django-admin startproject firstpjt . (firstpjt라는 이름의 프로젝트를 현재위치(.)에 생성)
  2. django 서버 실행 : python manage.py runserver (manage.py와 동일한 경로에서 명령어 진행)
  3. 로켓 페이지 확인하기

 

vs code에서 실행 방법

  1. cmd + shift + p → python : select interpreter 선택 후 enter → python 버전 (venv:venv) enter하면 생성해 둔 가상환경으로 바꿔짐(터미널에서 가상환경인지 확인)

pip list 명령어를 통해 가상환경인지 확인하기
http주소를 입력해서 열어서 서버가 동작하는지 확인
로켓 페이지가 열리는지 확인할 것!
서버 종료할 때는 ctrl+c


 

► 가상환경을 사용하는 이유

  • 의존성 관리 : 라이브러리 및 패키지를 각 프로젝트마다 독립적으로 사용 가능
  • 팀 프로젝트 협업 : 모든 팀원이 동일한 환경과 의존성 위에서 작업하여 버전간 충동을 방지
  • 가상환경이라는 것은 들어갔다 나왔다의 개념이 아니라 스위치 온오프의 개념

 

► LTS(Long-Term Support)

  • 프레임워크나 라이브러리 등의 소프트웨어에서 장기간 지원되는 안정적인 버전을 의미할 때 사용
  • 기업이나 대규모 프로젝트에서는 소프트웨어 업그레이드에 많은 비용과 시간이 필요하기 때문에 안정적이고 장기간 지원되는 버전이 필요

'Django' 카테고리의 다른 글

[Django] 템플릿 경로 지정 BASE_DIR  (0) 2023.03.22
[Django] 로또 번호 생성 프로젝트  (0) 2023.03.22
[Django] Django Template  (0) 2023.03.22
[Django] Django design pattern  (0) 2023.03.21
django shell_plus  (0) 2023.03.21