Django란?, 프로젝트 환경설정 해보기

김현수·2024년 5월 22일
1

Django(장고)란?

" 마감기한이 있는 완벽주의자를 위한 프레임워크 "

  • 장고는 파이썬 기반으로 제작된 오픈소스 웹 프레임워크이다.

  • 보안과 유지보수 등과 같은 여러 기능들을 비교적 쉬운 언어를 통해 웹사이트를 신속하게 개발할 수 있다는 장점을 가지고 있어서 위와 같은 캐치프라이즈를 가지고 있다.

  • 장고로 만들어진 웹사이트는 대표적으로 인스타그램, Spotify, 요기요, 위시켓, 번개장터 등이 있다.

특징

  • python 언어 기반이다.

  • MTV 패턴이다. (Model, Templete, View)

  • ORM 기반 프레임워크이다.
    - ORM(Object Relational Mapping)은 객체와 관계형 DB를 연결해주는 개념으로 생성한 객체를 자동으로 SQL문으로 변화해 주는 것을 말한다.

  • 자체적인 Django Template을 지원하여 탬플릿 태그를 활용하여 동적 페이지 구현이 가능하다.

  • 소스코드 변경을 자동으로 감지하여 코드를 수정할 때 마다 웹서버를 재시작할 필요가 없다.

장점

  • 파이썬 기반 웹 프레임 워크이기에 파이썬에서 제공하는 다양한 라이브러리를 사용할 수 있다.

  • 관리자 페이지나 로그인, 회원가입, ORM 기술 등 여러가지 부분들을 기본적으로 제공하여 개발을 빠르게 진행할 수 있다.

단점

  • 이미 만들어진 기능이 너무 많기 떄문에 원하는 대로 커스텀하기가 힘들다.

  • 국내에서는 많이 쓰이지 않고 외국에서 많이 사용되기 때문에 한글화 된 자료가 부족하다.

  • 파이썬 기반 웹 프레임워크이기에 파이썬이 가지는 문제점(인터프린터 언어여서 실행속도가 느림 등)을 그대로 가져온다.

그러면 언제 사용하나요?

  • 초기 개발환경 설정이 유리하고 보안 솔루션이 내장되어 있기 때문에 스타트업과 같이 빠른 개발이 필요한 서비스들을 만들때 용이하다.

  • 파이썬 기반 프레임 워크 이기에 AI 솔루션을 도입할 계획이 있는 프로젝트에 많이 쓰인다.

Django 환경설정 해보기

위에 위치한 코드블럭은 윈도우, 아래 위치한 코드블럭은 Mac
실행은 powershell이 아닌 bash에서 실행

  • python 설치 확인
python -V
python3 -V
  • 가상 환경 설치 (프로젝트마다 격리된 환경을 생성하여 패키지를 관리하기 위해서)
python -m venv venv
python3 -m venv venv

뒤에 venv는 가상환경 이름

  • 가상 환경 활성화
source venv/Scripts/activate
source venv/bin/activate

(venv)가 뜨면 활성화 완료

  • 가상 환경에 장고 설치
pip install django
pip3 install django
  • 프로젝트 파일 만들기
django-admin startproject config .

. 은 현재 디렉토리에 생성하는 것을 의미

  • 데이터베이스 마이그레이션 파일 생성
python manage.py makemigrations
  • 데이터베이스 마이그레이션
python manage.py migrate
  • djajngo 로컬 환경 서버 실행
python manage.py runserver

1개의 댓글

comment-user-thumbnail
2024년 6월 22일

어이없어 진짜 ㅋㅋ ㅋ

답글 달기