기본 세팅중에 가장 애를 먹었던 부분이다.
우선 postgressql을 실행한다.
$sudo su -postgres
(혹은 $su postgres) 이후 패스워드 입력 (postgresql 사용자 설정 시 적었던 비밀번호)
$psql #이제 쉘이 바뀌는 것을 볼 수 있다.
*데이터베이스 생성하기
*user, password 지정:
#장고에서 써야하니 꼭 기억해야 한다! 이걸 지정하지 않았다가 장고에서 데이터베이스와 연동할 때 한참동안 password가 없다는 말이 떠서 고생했었다.
$CREATE USER user_id WITH PASSWORD 'password'; (본인의 id, password를 입력한다. 어떤걸 입력해도 되지만 기억해둘것!)
*이후 인코딩, isolation, timezone 세팅하기
#user id 값에 자신의 id를 넣어야함- bartkim0426은 제 아이디입니다!
$ALTER ROLE bartkim0426 SET client_encoding TO 'utf8';
$ALTER ROLE bartkim0426 SET default_transaction_isolation TO 'read committed';
$ALTER ROLE bartkim0426 SET timezone TO 'UTC';
*user에게 데이터베이스 접근 권한 주기
(mysite 대신에 자신의 프로젝트명, id 대신에 자신의 id 넣기)
$GRANT ALL PRIVILEGES ON DATABASE mysite TO bartkim0426;
# 완료 후 postgres shell 끄기
\q
# postgres 나가기
$exit
이제 기본적인 postgresql 세팅은 끝났다. 이제 데이터베이스를 장고와 연동하여야 한다.
*장고 세팅하기
-psycog2 설치하기
장고에서 postgresql을 사용할 수 있도록 도와주는..? 패키지인것 같다. 공식 문서에서도 언급하는 걸 보니 꼭 설치해야 하나보다.
$pip install django psycopg2
-settings.py 편집
자신의 장고 프로젝트 폴더 내 settings.py를 실행한다.
(나의 경우는 mysite/mysite/settings.py)
. . .
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
}
. . .
위의 DATABASE를 아래의 것으로 바꿔야 한다 (빨간색 부분을 바꾸면 된다)
(vim에서 / 입력 후 DATABASE를 검색하면 쉽게 찾을 수 있다.)
. . .
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'myproject',
'USER': 'myprojectuser',
'PASSWORD': 'password',
'HOST': 'localhost',
'PORT': '',
}
}
. . .
*myproject 대신 자신의 프로젝트명, myprojectuser 대신 본인의 id, password 대신 본인의 비밀번호를 입력한다.
*데이터베이스 migrate 하기
-migrate는 나의 데이터베이스를 장고와 연동?하는 과정이다. 정확하게는 장고에게 데이터베이스에 아웃풋을 주는 과정(?)인것같다. (장고가 SQL문을 형성해 보내주므로...)
-이 부분은 추후 앱을 만드는 과정에서 해도 상관 없는것같다.
$cd ~/mysite (본인의 장고 프로젝트)
$python manage.py makemigrations
$python manage.py migrate
$python manage.py createsuperuser
참고 (일일히 답변을 달지는 못하지만 모든 분들에게 감사한다. 나중에 나도 나눌 수 있는 사람이 되겠다.)
https://www.digitalocean.com/community/tutorials/how-to-use-postgresql-with-your-django-application-on-ubuntu-14-04
http://stackoverflow.com/questions/5420789/how-to-install-psycopg2-with-pip-on-python
http://egloos.zum.com/ita9naiwa/v/4211543
'backend > django' 카테고리의 다른 글
django tutorial: View, template 이용하기 (part3) (0) | 2017.03.02 |
---|---|
django tutorial: API 사용해보기 & django admin 사용법 (part2) (0) | 2017.03.02 |
django를 위한 postgresql 설치하기 (0) | 2017.03.01 |
pyenv, virtualenv, autoenv를 활용해 Python 3.6, Django 1.10 설치하기 (0) | 2017.03.01 |
django tutorial: 데이터베이스 셋업, 모델 만들어서 migrate 해보기 (part2) (0) | 2017.03.01 |