본문 바로가기
개발

쿠키커터를 사용하여 Django 환경 세팅

by 마스터누누 2018. 10. 21.
728x90
반응형




1. 쿠키커터(Cookie cutter)


장고(Django)는 파이썬을 사용하여, 백엔드(Backend) 환경을 편리하게 사용할 수 있도록 도와주는 프레임워크(Framework)이다. 그러나 장고를 사용하기 위해서는 초기 설정이 필요한데, 초보자들에게는 이러한 과정이 상당히 복잡할 수 있다.


이 때, 편리하게 장고 환경을 구성할 수 있도록 도와주는 것이 쿠키 커터이다. 

쿠키 커터 명령어를 입력하면, 오픈소스 라이센스, 데이터베이스, 사용자의 정보 등을 즉시 설정해 줄 수 있다. 따라서 초보자들이나, 빠르게 개발 환경을 만들어야하는 개발자들에게 상당히 큰 도움을 준다.




2. 명령어


1
2
3
4
5
# 쿠키커터 설치
pip install cookiecutter
 
# 쿠키커터 프로젝트 생성
cookiecutter https://github.com/pydanny/cookiecutter-django
cs


우선 위의 명령어로 쿠키커터를 설치하고 프로젝트를 생성하자. pyenv로 가상환경을 만들고 설치를 진행하는 것이 좋다. (pyenv로 가상환경 만들기 - http://new93helloworld.tistory.com/326)


쿠키커터로 프로젝트를 생성할때 선택지는 아래와 같다. 여기서 []안에 들어가는 요소는 default 값이다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
$ project_name [My Awesome Project]: project_slug [yes]:
$ description [Behold My Awesome Project!]:
$ author_name [Daniel Roy Greenfeld]:
$ domain_name [example.com]: 
$ email [dev-nunu@example.com]: 
$ version [0.1.0]:
$ Select open_source_license:
1 - MIT
2 - BSD
3 - GPLv3
4 - Apache Software License 2.0
5 - Not open source
Choose from 12345 [1]:
$ timezone [UTC]: 
$ windows [n]: 
$ use_pycharm [n]:
$ use_docker [n]:
$ Select postgresql_version:
1 - 10.4
2 - 10.3
3 - 10.2
4 - 10.1
5 - 9.6
6 - 9.5
7 - 9.4
8 - 9.3
Choose from 12345678 [1]:
$ Select js_task_runner:
1 - None
2 - Gulp
Choose from 12 [1]:
$ custom_bootstrap_compilation [n]:
$ use_compressor [n]:
$ use_celery [n]:
$ use_mailhog [n]:
$ use_sentry [n]:
$ use_whitenoise [n]:
$ use_heroku [n]:
$ use_travisci [n]:
$ keep_local_envs_in_vcs [y]:
$ debug [n]:
cs


모든 항목에 설정을 끝내면 구조화된 장고 프로젝트가 생성된다.




3. 실행에 필요한 모듈 설치


생성된 장고 폴더에서 python manage.py runserver 명령어를 입력하여 서버를 실행 시키려고 하면 오류가 발생한다. 아직 프로젝트 실행에 필요한 모듈들이 설치되지 않았기 때문이다.


1
pipenv install -r requirements/local.txt
cs


따라서 위의 명령어를 입력하여, 로컬 환경에서의 프로젝트 실행을 위한 모듈들을 설치해준다.

만약 dependency 관련 에러가 발생하여 모듈이 정상적으로 설치되지 않는다면, pipenv lock --pre 명령어를 입력해 주도록 한다




4. 데이터 베이스 연결


1
2
3
4
DATABASES = {
    'default': env.db('DATABASE_URL', default='postgres:///[데이터베이스 이름]'),
}
DATABASES['default']['ATOMIC_REQUESTS'] = True
cs


다시 서버를 실행하는 명령어를 입력하면, 이번에는 데이터베이스가 연결되지 않았다는 오류가 발생한다.

자신의 데이터베이스에서 데이터베이스를 생성 후, base.py에 들어가 연결을 시켜준다.


위의 코드는 postgres 기준의 설정 방법이다.


모든 설정이 다 끝났으면 python manage.py runserver는 정상적으로 동작이 된다.

이제 프로젝트를 시작해보자!





반응형

댓글