Django - 개요

이승현·2023년 10월 26일

Django

목록 보기
1/8
post-thumbnail

🔍Django란?

  • Python 기반의 오픈 소스의 풀스택 웹 프레임워크
  • 쉽게 익혀 개발속도가 빠르고 완성도도 높게 유지할 수 있다.
  • 따라서 생산성이 높고 진입장벽이 낮아 접근성이 낮다.
  • 인스타그램, 핀터레스트와 같은 웹 서비스에서 사용되고 있다.
  • 하지만 성느의 경우 다른 웹 애플리케이션에 밀리는 면이 있다.

이전 프로젝트 - 📕 Bookmmelier

GitHub - Bookmmelier

이전에 회사에서 서비스 개발을 위해 장고를 사용한 적이 있었다.
Bookmmelier는 기입된 도서 정보를 통해 사용자에게 도서 추천을 지원하는 웹 서비스다.
처음으로 웹 개발의 백엔드를 진행했었기 때문에 당시에 사용하고 있던 Python언어를 사용했다는 점에서 도움이 많이 되었다.

당시에 해당 웹 서비스에 구현되었던 기능은 다음과 같았다.

  • 도서 데이터에 대한 도서 검색 및 상세 정보 확인
  • 도서에 대한 서평 작성 및 서평 검색과 평가
  • 서평에 대한 댓글 작성
  • 서평에 대한 분석 결과 확인
  • 도서에 대한 토론 생성 및 의견 공유
  • 사용자의 개인 정보 생성 및 계정 관리

처음 진행해봤던 웹 개발 과정이었기 때문에 당연하게도 많은 문제점이 있었다.
왜요? 왜 이렇게 되는데요? 진짜요? 와 신기해(?)
서버를 구축하는 것부터 데이터베이스 설계와 HTML에 대한 이해까지 많은걸 배울 수 있는 기회였다.


장고 개발 환경 구축 방법

1. Python & Visual Studio Code 설치

https://www.python.org/


파이썬 공식 홈페이지에서 먼저 파이썬을 다운받자


파이썬을 설치를 진행하고 재부팅하면 된다.

파이썬 설치 버전의 경우 CMD에서 확인이 가능하다

https://code.visualstudio.com/

Visual Studio code를 설치하자

2. 가상환경 설치

먼저 폴더 열기로 프로젝트를 저장할 폴더 선택해준다.

Ctrl + Shift + ` 를 눌러 터미널 열기

가상환경을 설치해주자

✅ 왜 가상환경을 설치해야 하는가?
가상환경을 사용한다는 것은 프로젝트를 위한 구분된 환경을 조성한다는 것을 의미한다.
파이썬에서 모듈을 설치하는데 단일 환경에서 모듈이 서로 겹치게되면 문제가 발생할 수 있다.
구분된 가상 환경은 모듈간의 안정적인 상황을 조성할 수 있다.
즉 가상환경을 통해 안정적인 프로젝트 개발 환경을 설정할 필요가 있다!

Ctrl + Shift + p 로 Interpreter를 선택

가상환경을 설정해주자

터미널에서 자동으로 가상환경과 연결된다.

터미널에서 장고를 설치해주고

django-admin startproject 프로젝트이름으로 프로젝트를 새롭게 시작할 수 있다.

python manage.py runserver를 입력하면 서버가 실행된다.
링크를 ctrl을 누른 상태에서 클릭하면

장고를 통한 웹 개발을 위한 환경은 조성이 완료된다.

하지만 빨간줄로 에러가 뜨는데 migration을 하지 않았음을 알려준다.

✅ Django의 ORM(Object Relational Mapping)과 Migration
ORM이란 객체와 관계를 바탕으로 매핑하여 SQL을 자동으로 생성한다.
기존의 SQL 언어가 아니라 애플리케이션의 개발언어로 데이터베이스에 접근이 가능하다.
장고에서는 models.py에서 DB 스키마를 생성하고 데이터베이스를 관리한다.
Django는 Migration을 통해 모델 구조를 저장하고 필드의 생성 변경 삭제를 알려준다.

다음과 같은 migration 명령어를 통해 프로젝트의 모델의 변경사항을 데이터베이스에 적용해줌을 의미한다.


0개의 댓글