본문 바로가기
Programming

Django 프로젝트 시작하는 방법 💡️

by 개발자 염상진 2022. 10. 1.

Django는 python을 사용하는 서버 제작 프레임워크 입니다. 프로젝트를 시작해 간단하게 서버 프로그램을 돌릴 수 있습니다.

 

 

Django 프로젝트 시작하는 방법 💡️

 

Django 프로젝트를 시작하기 앞서, 의존성을 주입해주기 위해 사용하는 툴이 '가상환경'입니다. 가상환경을 실행하고, 구성된 가상환경안에서 버서 제작에 필요한 모듈을 설치하여 사용할 수 있습니다.

 

 

가상환경 만들기

$ python3 -m venv 가상환경이름

 

위와 같이 명령어를 실행하면 다음과 같은 디렉토리가 생성됩니다.

.
├── bin
│   ├── activate
│   ├── activate.csh
│   ├── activate.fish
│   ├── Activate.ps1
│   ├── easy_install
│   ├── easy_install-3.8
│   ├── pip
│   ├── pip3
│   ├── pip3.8
│   ├── python -> python3
│   └── python3 -> /usr/bin/python3
├── include
├── lib
│   └── python3.8
├── lib64 -> lib
├── pyvenv.cfg
└── share
    └── python-wheels

 

Django 설치하기 💡️

 

가상환경이 구성된 후 구성된 환경안에서 Django 모듈을 설치해줍니다. 먼저 가상환경을 실행해줍니다. 저는 가상환경 이름을 penv로 설정했습니다.

$ source ./가상환경/bin/activate

 

정상적으로 가상환경이 실행된 경우 터미널에 가상환경이 표시됩니다. (가상환경 이름)이 표기되면 정상적으로 가상환경이 실행된 겁니다.

(penv) ➜  firstApp

 

가상환경 안에서 Django를 설치해줍니다.

$ pip install django

 

이제 새로운 프로젝트를 시작합니다.

$ django-admin startproject firstApp

 

 

Django 프레임워크는 기본적인 서버 구성을 다 만들어줍니다. 💡️

.
├── db.sqlite3
├── firstApp
│   ├── asgi.py
│   ├── __init__.py
│   ├── __pycache__
│   ├── settings.py
│   ├── urls.py
│   └── wsgi.py
└── manage.py

 

가상환경을 종료하기 위해서는 deactivate 명령어를 사용합니다.

$ deactivate

 

 

Django로 서버 실행하기 💡️

 

우리는 최초로 Django 모듈 1개만 설치한 상황입니다. 다음 명령어로 현재 설치된 모듈을 확인할 수 있습니다.

$ pip list
(penv) ➜  firstApp pip list
Package            Version
------------------ -------
asgiref            3.5.2  
backports.zoneinfo 0.2.1  
Django             4.1.1  
pip                20.0.2 
pkg-resources      0.0.0  
setuptools         44.0.0 
sqlparse           0.4.3

 

설치된 모듈을 관리하기 위해 requirements.txt 파일에 모듈을 저장해 다른 환경에서 쉽게 관리할 수 있게 됩니다. Node.js에서 package.json과 비슷한 역할을 합니다. 

설치된 모듈을 확인하는 두번째 방법은 pip freeze입니다.

$ pip freeze

 

requirements.txt를 생성하는 방법입니다.

$ pip freeze > requirements.txt

 

requirements.txt에 저장된 모듈을 한번에 설치할 수 있습니다.

$ pip install -r requirements.txt

 

 

서버를 실행하기 전 Django에서 제공해주는 ORM으로 구성된 기본적인 스키마가 구성되어 있습니다.  💡️ 이 스키마를 DB에 저장해줘야 합니다. Django에서 기본 셋팅되는 DB는 sqlite3입니다. 뒤에 앱이름을 기재해주면 특정 앱의 스키마만 migrate 할 수 있습니다. 앱 이름을 기재하지 않으면 프로젝트 전체 스키마를 마이그레이션 합니다.

$ python3 manage.py migrate [앱 이름]

 

⚠️ 만약 DB를 migrate 해주지 않으면 다음 에러가 발생합니다.

You have 18 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.

 

이제 서버를 실행합니다.

(penv) ➜  firstApp python3 manage.py runserver

 

 

 

정상적으로 서버가 실행되었다면 기본 포트 8000번에서 서버가 실행됩니다. localhost:8000 혹은 127.0.0.1:8000을 브라우저 URL에 입력하시면 다음 화면이 렌더링 됩니다. 

만약 다른 포트에서 실행하려고 하면 포트 번호를 명시해주면 됩니다.

$ python3 manage.py runserver 9999

 

 

 

기본 제공된 manage.py는 Django 프로젝트를 실행하는 코드를 담고 있습니다. manage.py 사용법을 더 알고 싶은 분들은 help를 참조하면 됩니다.

$ python3 manage.py --help

 

Reference

 

 

 

MongoDB Atlas 백업 하는 방법 (mongodump mongorestore)

MongoDB Atlas 백업 하는 방법 프로그램을 작성할 때 N-Tier 아키텍처로 서비스를 구성할 때 데이터베이스를 사용한다면 백업 DB구성은 선택이 아니라 필수입니다. AWS의 RDS를 사용하는 경우 snapshot 기

about-tech.tistory.com

 

 

React 새로고침 방법 3가지

React 컴포넌트를 사용한 후 새로고침을 해야 하는 경우 적용가능한 방법은 3가지 입니다. 만약 이동하고자 하는 페이지 URL 상대 경로가 '~/user/login' 이라고 하면 window.location 사용 window.location.repla.

about-tech.tistory.com

 

 

MSA 아키텍처란? SOA를 구현해보자 🚀️

MSA? 개발자들은 뭐든지 분리하는 것을 선호합니다. 잡동사니들이 쌓여있는 방에서 필요한 물건을 찾는건 어렵죠? 같은 논리로 하나의 파일에 모든 기능이 담겨있으면, 프로그램이 작동하다가

about-tech.tistory.com

 

댓글