🚀 가상환경
개요
- 여러 개발자가 다른 컴퓨터로 장고 프로젝트를 진행할 때, 각각의 컴퓨터에 설치된 장고 버전이 달라 발생할 수 있는 문제를 방지하기 위해 파이썬 가상환경을 생성하여 작업
- 가상환경을 이용하면 하나의 PC에 서로 다른 버전의 파이썬과 라이브러리를 쉽게 설치할 수 있고 독립적인 작업환경에서 작업이 가능하다.
가상환경 사용하기
$ python -m venv [가상환경이름]
예) $ python -m venv venv
- 가상환경 활성화
- macOS의 경우 Scripts 대신 bin을 적으면 된다. (가상환경 폴더에서 activate 파일이 어디에 있는지 확인 가능)
$ source [가상환경경로]/Scripts/activate
예) $ source ~/venv/venv/Scripts/activate
$ deactivate
$ pip freeze > requirements.txt
$ pip install -r requirements.txt
Django 기본 설정
프로젝트 만들기
가상환경 생성/활성화하고 Django 설치하기
$ python -m venv [가상환경이름]
$ source [가상환경경로]/Scripts/activate
$ pip install django==[version]
예)
$ python -m venv venv
$ source ~/venv/venv/Scripts/activate
$ pip install django==3.2.18
프로젝트 생성하기
$ django-admin startproject [projectname]
예) $ django-admin startproject mypjt
생성된 프로젝트 구조
- __init__.py
- Python 에게 이 디렉토리를 하나의 Python 패키지로 다루도록 제시
- 별도로 추가 코드를 작성하지 않음
- asgi.py
- Asynchronous Server Gateway Interface
- Django 애플리케이션이 비동기식 웹 서버와 연결 및 소통하는 것을 도움
- 추후 배포 시에 사용
- settings.py
- urls.py
- 사이트의 url과 적절한 views의 연결을 지정
- wsgi.py
- Web Server Gateway Interface
- Django 애플리케이션이 웹 서버와 연결 및 소통하는 것을 도움
- 추후 배포시에 사용
- manage.py
- Django 프로젝트와 다양한 방법으로 상호작용하는 커맨드 라인 유틸리티
$ python manange.py <command> [options]
앱 생성하기
- 프로젝트 생성 후에는 프로젝트 안에 들어가서 작업을 진행한다.
$ cd [projectname]
예) cd mypjt
$ python manage.py startapp articles
- 앱을 사용하기 위해서는 반드시 project
settings.py
파일의 INSTALLED_APP
리스트에 추가해야 한다.
INSTALLED_APPS = [
'[appname]',
...
]
생성된 애플리케이션 구조
- admin.py
- apps.py
- 앱의 정보가 작성된 곳
- 별도로 추가 코드를 작성하지 않음
- models.py
- 애플리케이션에서 사용하는 Models을 정의하는 곳
- MTV 패턴의 M에 해당
- test.py
- views.py
- view 함수들이 정의되는 곳
- MTV 패턴의 V에 해당
서버 실행하기
$ python manage.py runserver
- 서버를 종료할 때는
ctrl + c
를 누르면 된다.