Django + pycharm 으로 개발환경 세팅

프로젝트 생성

  • Create New Project
    • location 프로젝트 생성 위치
    • 가상환경 생성을 위해 New environment using 선택

가상환경에 Django 설치

pip를 통해 Django 설치

terminal에서 Django 설치

터미널 (venv)라고 적혀 있는 부분이 가상환경에 접속되어 있음을 나타냄

  • django 설치
pip install django
  • rest framework 설치
pip install djangorestframework

django project 생성

django-admin startproject 프로젝트 명
  • project 라는 이름으로 생성했을때 project안의 project 폴더 안에 생성된다.
    • 커뮤니티 버전을 사용했기 때문
  • project 폴더의 파일을 한 단계씩 올려주고 안의 project 폴더를 지워준다.
    django project 실행
  • python manage.py runserver

pycharm의 Run을 통해 실행

run - edit configurations

  • name : runserver
  • configuration
    • script path : 프로젝트 폴더의 manage.py
    • parameters : runserver

Project 생성 Tip

pycharm 에서 create new project로 생성 후
터미널에서 config . 으로 프로젝트 생성

django-admin startproject config .

728x90

'Study > Django' 카테고리의 다른 글

[Django] settings.py - cors, static path  (0) 2021.05.11
[Django] Serializers  (0) 2021.05.11
[Django] models.py  (0) 2021.05.10
[Django] app, mysql 추가 및 연결  (0) 2021.05.10
Python 가상환경 설치 및 비교  (0) 2021.05.02

가상환경(virtual environment)을 쓰는 이유

가상환경이란 독립된 공간을 만들어 주는 기능

  • 하나의 프로젝트만을 위해서 설치한 패키지가 무엇인지 쉽게 확인하고 테스트 할 수 있게 된다.

즉 가상환경은 프로젝트와 그 프로젝트에 사용된 패키지들을 언제나 한 묶음으로 움직일 수 있게 해주는 역할!


장점

  • 한 프로젝트를 위해 확실히 작동하는 버전의 여러 패키지들을 한데 모아서 관리
  • 프로젝트를 배표하면 원격 서버에 따로 패키지를 설치해야하는데 한정된 서버 공간에 효율적으로 필요한 패키지만을 설치하기 위해 필요

가상환경 비교

VENV (virtualenv)

  • python에서 기본 모듈로 지원
    • 현재 시스템에 설치되어 있는 버전의 python을 기반으로 패키지 가상화 환경 제공

설치

# 가상환경 생성
# myvenv 가상환경 이름
# 소문자, 공백x
python3 -m venv myvenv

# 가상환경 실행
source myvenv/bin/activate
## source가 없을 수도 있음
. myvenv/bin/activate

# 가상환경 종료
deactivate

# 다운받은 패키지 리스트 저장
pip freeze > requirements.txt

# 패키지 리스트 항목 다운
pip install -r requirements.txt

pipenv

  • 필요한 것만 정의하면서, 결정론적인(deterministic, 파일에 정의된대로) 빌드가 가능하다.
  • 락이 걸린 의존성에 대해 해쉬 파일을 생성하고 확인한다.
  • pyenv가 사용 가능하다면, 필요한 python도 자동으로 설치한다.
  • Pipfile을 찾으면서자동으로 프로젝트 홈을 찾아준다.
  • Pipfile이 없다면 자동으로 생성해준다.
  • 자동으로 virtualenv 환경을 생성한다.
  • 패키지를 설치/삭제하면, 자동으로 Pipfile에서 추가/삭제한다.
  • 자동으로 .env 파일을 인식한다.
  • 의존성 그래프를 제공함으로서 insight를 제공한다 (e.g. $ pipenv graph).단점
  • 오픈소스이기에 python 버전, pip 버전에 즉각적인 대응이 느림

설치

# pipenv 설치
pip install pipenv

# 가상환경 생성(생략 가능)
pipenv --python 3.7

# 가상환경 활성화(없으면 만들고 활성화)
pipenv shell

# 비활성화
exit

# 가상환경 제거
pipenv -rm

# 패키지 설치
# 패키지가 설치되면 pipfile 파일의 [packages]에 명시됨
pipenv install [패키지명]

# pipfile의 모든 패키지 설치
pipenv install

# 프로젝트에 설치된 패키지 트리구조로 보기
pipenv graph

# 보안 취약점이 있는 패키지 체크
pipenv check

docker

  • 기존 가상환경의 한계점인 os 환경까지 독립적으로 구성 가능
728x90

'Study > Django' 카테고리의 다른 글

[Django] settings.py - cors, static path  (0) 2021.05.11
[Django] Serializers  (0) 2021.05.11
[Django] models.py  (0) 2021.05.10
[Django] app, mysql 추가 및 연결  (0) 2021.05.10
[Django + pycharm] 개발환경 세팅  (0) 2021.05.02

+ Recent posts