[Django] 장고 초기 세팅 및 프로젝트 설정하기

유승인·2025년 1월 9일
1

현재 동아리에서 장고를 배우는중이고, 저는 장고가 처음이라서 생각보다 낯선 명령어들과 초기 세팅들 때문에 계속 찾아보고 복붙하는 형식이 많았습니다. 하지만 이런 방식은 비효율적이라고 생각하여 제가 직접 글을 작성하며 저도 다시 한번 제대로 숙지하고, 혹여나 초기 세팅을 잘 하지 못하는 분이 계시다면 참고하실 수 있으면 좋겠습니다!

가상환경 설정😺

우선 처음으로 장고를 세팅하기전에 파이썬이 깔려있는지 확인해야 합니다. 파이썬이 깔려있는지 확인하려면

python 설치 확인

$ python -V (Window), 
$ python3 -V (Mac)

(혹시 파이썬이 깔려있지 않다면 파이썬 다운로드에서 다운받고 진행)

가상 환경 설치

$ python -m venv venv (Window),
$ python3 -m venv venv (Mac)

맨 뒤에 나오는 venv는 사용자가 직접 설정한 가상환경의 이름인데 아무 이름이나 설정해도 됩니다.
(주로 myvenv, venv 사용)

참고) 가상 환경 삭제

$ rm -v venv

가상 환경을 설치한 이후에는 ls 명령어를 통해 만든 가상 환경을 확인할 수 있습니다.

가상 환경 활성화

$ source venv/Scripts/activate (Window),
$ source venv/bin/activate (Mac)

해당 명령어로 가상 환경이 성공적으로 활성화가 된다면 터미널 하단에 자신이 만든 가상 환경의 이름이 뜨게 됩니다. (현재 저는 venv로 설정)
활성화 상태에서 pip list를 통해 가상환경에 설치된 패키지를 볼 수 있음.

참고) 가상 환경 비활성화

$ deactivate

장고 설치

$ pip install django (Window),
$ pip3 install django (Mac)

이제 본인의 설정한 가상환경에 장고를 설치하게 된다면 초기 세팅이 완료됩니다.

참고) pip 최신 버전 업그레이드

$ pip install --upgrade pip (Window),
$ pip3 install --upgrade pip (Mac)

장고 시작하기

$ django-admin startproject config .

django-admin startproject config . 을 통해 현재 디렉토리에 새로운 Django 프로젝트를 생성합니다. 프로젝트를 생성한 후, 프로젝트의 최상위 디렉토리가 현재 디렉토리가 됩니다.
만약 . 을 빼고 django-admin startproject config 을 하게 되면 새로운 디렉토리를 생성하고 해당 디렉토리 안에 Django 프로젝트를 생성합니다. 프로젝트 이름과 같은 이름을 가진 디렉토리가 생성되며, 프로젝트의 파일과 폴더는 해당 디렉토리 안에 생성됩니다.
현재는 config라는 장고 프로젝트를 생성했지만, 해당 부분은 사용자가 변경 가능합니다.

장고 로컬 환경 서버 실행

$ python manage.py runserver (Window),
$ python3 manage.py runserver (Mac)

해당 명령어를 통해 장고 프로젝트를 실행할 수 있고, 개발 서버는 확인용으로 테스트 및 개발 목적으로만 사용합니다.

장고 앱 설정

$ django-admin startapp reviews

프로젝트를 추가하고, 각각의 페이지를 추가하려면 장고에서 앱을 추가적으로 생성해줘야합니다.
django-admin startapp reviews으로 자신이 원하는 앱을 생성할 수 있습니다.
(현재 저는 reviews라는 앱을 생성했지만, 해당 부분은 사용자가 원하는 이름의 앱으로 생성하면 됩니다. 주로 main을 많이 사용)

앱을 생성했다면, 이제 이 앱을 사용하기 위해 아까 만들어준 config안에 settings.py에 들어가서 INSTALLED_APPS 부분에 자신이 만든 앱 이름을 추가해야 사용할 수 있습니다.

현재 저의 INSTALLED_APPS는

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
]

이렇게 되어있기 때문에, 밑에 reviews를 추가해서

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'reviews',
]

으로 만들었습니다.

마지막으로 config 안에 있는 urls.py에 들어가서 path('', include('reviews.urls')), 의 코드를 추가해주면 완료!

from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('reviews.urls')),
]

path("앱에 추가될 url 주소", include('앱이름.urls'))

→ 이때 “”는 아무것도 치지 않았을 때 즉, 127.0.0.1:8000를 나타냅니다.

참고로 해당 장고 세팅을 완료 후 깃허브에 커밋하게 된다면 매우 많은 파일들에 대한 속도 저하 및 에러가 날텐데 (그냥 커밋하고 푸시하시면 안됩니다!) 이유는 gitignore이 존재하지 않아서 입니다.
gitignore은 불필요한 파일 제외를 통해 가상환경 venv파일은 올리지 않고, 암호나 API 키, 인증 토큰 등과 같이 보안에 민감한 정보들을 감춰주는 역할을 하기 때문에 장고를 세팅할때 gitignore 파일을 생성하는것도 필수적입니다.
gitignore 파일을 생성하는 방법은 -> 새 파일 생성을 선택하고 파일 이름을 .gitignore 로 설정
이렇게 .gitignore를 생성했다면 gitignore의 내용은 gitignore.io 에 들어가셔서 현재 저희는 장고를 사용하기 때문에 Python, Django를 검색하고 생성되는 코드에 대해 자신의 .gitignore에 복사하면 됩니다.

현재는 한개의 앱만 생성했지만 나중에는 많은 앱을 생성하고 사용하기 때문에 해당 예시를 통해 추가적으로 여러 앱들을 생성하고, 등록하면 장고 초기 세팅 및 프로젝트 설정은 잘 동작할 것 입니다!🐤

profile
한입 개발자

0개의 댓글

관련 채용 정보