본문 바로가기

Framework/Django

[Django] Django 설치 와 project 생성

반응형

지금 회사에 입사하면서 Django framework 처음 사용해보게 되었다. 실무를 하면서 Django 대해서 알아가면서 업무를 수행했다. 연말을 맞아서 파편화된 Django 지식들을 모아서 시리즈로 써보려고 한다. Django 설치, 프로젝트 초기화부터 ORM, cache, DB 연결, multi-tenancy, wsgi, asgi, celery 등등 다양한 기능과 여러 서비스들의 연동까지 최대한 다양한 내용들을 정리해보고자 한다.

 

글에서는 가장 기본이 되는 Djang 설치와 Django project 생성에 대해서 정리해보았다.

1. django 설치

가상환경 설정

django python 에 서비스를 구현하기 위한 framework 이다. 이때문에 기본적으로 python 설치된 환경에서 진행해야 한다. python 설치되었다면 다른 프로젝트를 위한 python 가상환경을 설정해준다.

 

$ python -m venv venv

 

해당 명령어를 실행하면 venv 라는 디렉토리와 가상환경이 설정된 것을 있다. 필요에 따라 각자의 vscode pycharm 같은 IDE 에서 현재 프로젝트의 python interpreter 해당 가상환경을 지정하여 사용하면 편하다.

django 설치

django 공식문서에서는 django 패키지를 설치할 있는 여러가지 방법이 소개되어 있는데, 중에서 추천하는 방법은 pip 설치하는 방법이다.

$ python -m pip install Django

 

pip 이용하여 Django 설치한 pip list 를 확인하면 아래와 같이 Django 가 pip list 추가된 것을 확인할 있다.

 

$ pip list

Package  Version
-------- -------
asgiref  3.11.0
Django   6.
pip      25.
sqlparse 0.5.4

2. django project

django project 생성

Django 패키지를 설치했다면 이제 django project 생성할 있다. 여기서 project django 인스턴스와 관련된 모든 설정 (DB, Django 옵션, application 설정 등등) 등을 포함한 python 패키지, django 소스코드를 포함하고 있는 디렉토리를 의미한다. (https://docs.djangoproject.com/en/6.0/glossary/#term-project)

 

django project 아래와 같이 django-admin 사용하여 생성할 있다. django-admin django 관련 관리자 작업을 수행할 있는 cli 유틸리티로 'django-admin startproject' 명령어를 사용하여 django project 생성한다. 'django-admin startproject ' 명령어 뒤에 생성하려는 django project 이름을 지정해주면 현재 디렉토리에 지정한 이름의 django proejct 생성된다. project 생성될 경로는 project 이름 뒤에 옵션으로 지정해줄 있다.

 

$ django-admin startproject myproject .

 

생성된 project 다음과 같은 구조를 가진다. django-admin 동일하게 cli 작업 기능을 제공하는 manage.py 모듈과 project 이름으로 지정한 myproject 라는 디렉토리, 파이썬 패키지가 생성된다. 디렉토리 내부에는 django 인스턴스와 관련된 설정파일들이 포함되어 있다.

 

.
├── manage.py
└── myproject
    ├── __init__.py
    ├── asgi.py
    ├── settings.py
    ├── urls.py
    └── wsgi.py

django 서버 

django project 생성했다면 제대로 생성됐는지 실행해서 확인해볼 차례이다. 앞 project 생성하면서 자동으로 생성된 manage.py 이용하여 django server 실행할 있다.

 

$ python manage.py runserver

 

runserver 명령어를 사용하여 실행을 서버 url 비롯해 여러가지 내용이 로깅된다. 중에서 아래와 같은 경고를 확인할 있다.

 

WARNING: This is a development server. Do not use it in a production setting. Use a production WSGI or ASGI server instead.
For more information on production servers see: https://docs.djangoproject.com/en/6.0/howto/deployment/

 

간단하게 설명하면 현재 서버는 개발용이기 때문에 운영용으로는 WSGI ASGI 운영 서버를 사용하라는 말이다. manage.py 에서 제공하는 runserver 기능은 개발용으로 운영에서 사용할만큼 좋은 성능을 고려하지 않고 개발되었기 때문에 이와같은 경고가 출력되는 것이다.

 

아무튼 서버를 실행했다면 이제 브라우저로 접속해보자. 로그를 확인해보면 아래와 같이 django server url 확인할 있다.

 

Starting development server at http://127.0.0.1:8000/

 

해당 url 접근해보면 아래와 같이 django 기본 페이지로 접근할 있게된다. 이렇게 django 설치하고 project 초기 구성을 완료했다.

 

[References]

 

How to install Django | Django documentation

The web framework for perfectionists with deadlines.

docs.djangoproject.com

 

 

 

Writing your first Django app, part 1 | Django documentation

The web framework for perfectionists with deadlines.

docs.djangoproject.com

 

반응형