๐ Django์์ PostgreSql ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค์
๋น ๋ฅธ ์กฐ์ธ:
Django ์ฑ์ ๋ฐฐํฌ๋ฅผ ๋ค๋ฃจ๋ ๊ฒ์๋ฌผ์ ์ํ๋ ๊ฒฝ์ฐ ์ด ๊ฒ์๋ฌผ๋ก ์ด๋ํ์ญ์์ค.
๐ฏ ์์ต์: Heroku์ Django ์ฑ ๋ฐฐํฌ
Developer Road์ Daniel Diaz ใป 2์ 18์ผ ใป 6๋ถ ์ฝ๊ธฐ
#heroku
#deploy
#devops
#django
heroku์์ ์ฑ ๋ง๋ค๊ธฐ
heroku์์ ๋ฌด๋ฃ ์ฑ์ ๋ง๋ค๊ธฐ ์ ์ ๊ณ์ here์ ๋ง๋ค์ด์ผ ํฉ๋๋ค.
๊ณ์ ์ ์์ฑํ๋ฉด ์ด์ ๊ฐ์ ๋์๋ณด๋๊ฐ โโํ์๋ฉ๋๋ค.
์ฑ์ ๋ง๋ค๋ ค๋ฉด New
๋ฅผ ํด๋ฆญํ๋ฉด ์ ์ฑ ๋ง๋ค๊ธฐ ์ต์
์ด ์๋ ๋๋กญ๋ค์ด์ด ํ์๋ฉ๋๋ค.
๊ทธ๊ฒ์ ์ ํํ๊ณ ์ด๋ฆ์ ์ ํํ ๋ค์ ์ฑ ๋ง๋ค๊ธฐ๋ฅผ ํด๋ฆญํ์ญ์์ค.
์ด์ ์ ์ฑ์ ๋ง๋ค์์ผ๋ฏ๋ก "๊ฐ์"๋ฅผ ํด๋ฆญํ๊ณ ์ ๋์จ ๊ตฌ์ฑ์ ์ ํํฉ๋๋ค.
์ด์ heroku postgres
๋ฅผ ๊ฒ์ํ๊ณ ์ ํํฉ๋๋ค.
์ค์ ํ์ผ ์์
์ด์ heroku์ ๋ฐฐํฌํ ์ค๋น๊ฐ ๊ฑฐ์ ๋๋ฌ์ต๋๋ค. ๋จผ์ ๋ฐฐํฌํ ์ค๋น๊ฐ ๋๋๋ก ์ค์ ์ ์์ ํ๊ฒ ์ต๋๋ค.
django_heroku ๋ฐ python decouple ์ค์น
pip install gunicorn django-heroku python-decouple
๋ค๋ฅธ ์ง์นจ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค์ ์ ๋ํด์๋ง ์ค๋ช
ํ๊ฒ ์ต๋๋ค.
dj_database_url ์ฌ์ฉ
dj_database_url
๋ django_heroku
์ ํจ๊ป ๋ฒ๋ค๋ก ์ ๊ณต๋๋ ํจํค์ง์
๋๋ค.
ํจ์dj_database_url.config()
๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ URL ๊ตฌ์ฑ์ ๋งค๊ฐ๋ณ์๋ก ์์ ํ๊ณ ์ด๋ฅผ ์ก์ธ์คํ๊ธฐ ์ํด ํ์ํ ํค๋ก ๋ณํํฉ๋๋ค.
์์ :
# Import this packages previously dowloaded
import django_heroku
import dj_database_url
from decouple import config
# Go down until you find database stuff
# Database
# https://docs.djangoproject.com/en/3.1/ref/settings/#databases
# Commment out the sqlite database setup
# DATABASES = {
# 'default': {
# 'ENGINE': 'django.db.backends.sqlite3',
# 'NAME': BASE_DIR / 'db.sqlite3',
# }
# }
# These lines make all the magic
DATABASES = {
'default': dj_database_url.config(
default=config('DATABASE_URL')
)
}
ํ๋กํ ๋ง๋ค๊ธฐ
์ฑ์ ๋ฃจํธ ๋๋ ํ ๋ฆฌ์์ ์ด๊ฒ์ ์คํํ์ญ์์ค.
touch Procfile
ํ์ผ์ ์ด๊ณ ๋ค์ ์ค์ ๋ณต์ฌํฉ๋๋ค.
web: gunicorn (Your app).wsgi
์ด๊ฒ์ Heroku์๊ฒ gunicorn์ HTTP ์๋ฒ๋ก ์ฌ์ฉํ๊ณ (Your app)์ ์๋ wsgi ํ์ผ์ ์ฌ์ฉํ์ฌ ์น ํ๋ก์ธ์ค๋ฅผ ์คํํด์ผ ํจ์ ์๋ ค์ค๋๋ค. (๊ทํ์ ์ฑ)์ ํ๋ก์ ํธ ์ด๋ฆ์ผ๋ก ๋ณ๊ฒฝํด์ผ ํฉ๋๋ค.
๋๊ฒฐ์๊ตฌ์ฌํญ.txt
์์ฉ ํ๋ก๊ทธ๋จ์ ์๊ตฌ ์ฌํญ์ผ๋ก ํ์ผ์ ๊ณ ์ ํ๋ ค๋ฉด ๋ค์์ ์คํํ์ญ์์ค.
pip freeze > requirements.txt
Heroku๋ ํด๋น ํ์ผ์ ๊ฒ์ํ๋ฏ๋ก ํด๋น ๋ช
๋ น์ ์คํํ๋ ๊ฒ์ ์์ง ๋ง์ญ์์ค.
Github๋ก ๋ฐฐํฌ ๊ด๋ฆฌ
Github๋ฅผ ์ฌ์ฉํ ๋ฐฐํฌ๋ Heroku CLI ๋๊ตฌ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ๋ณด๋ค ํจ์ฌ ์ฌ์ฐ๋ฏ๋ก ๋ฐฐํฌํ๋ ค๋ ์ฑ์ผ๋ก Github์ ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ์์ฑํ๋ ๊ฒ์ ์์ง ๋ง์ญ์์ค.
๋ณ๊ฒฝ ์ฌํญ ํธ์
git add -A
git commit -m "Database Settings ready"
git push origin
์ด์ heroku ์น์ฌ์ดํธ์์ Deploy
ํญ์ผ๋ก ์ด๋ํ์ฌ Connect with github๋ฅผ ํด๋ฆญํฉ๋๋ค.
๋ฆฌํฌ์งํ ๋ฆฌ์ ๋ํ ์ก์ธ์ค ๊ถํ์ ๋ถ์ฌํ๊ธฐ ์ํด Github๋ก ๋ฆฌ๋๋ ์
๋ฉ๋๋ค.
์ด์ ๋ฐฐํฌํ๋ ค๋ ์ ์ฅ์๋ฅผ ์ฐ๊ฒฐํ์ญ์์ค.
๋ง์ง๋ง์ผ๋ก ์๋ ๋ฐฐํฌ์์ Deploy branch
๋ฅผ ํด๋ฆญํฉ๋๋ค.
์ค๋ฅ๊ฐ ๋ฐ์ํ๋ฉด ๊ธฐ๋ค๋ฆฌ์ญ์์ค ....
Heroku docs์ ์ฝ๊ฑฐ๋ ๋ฌธ์ ์๋์ ์๊ฒฌ์ ๋งํ์ญ์์ค.
์๊ฐ ๋ด์ฃผ์
์ ๊ฐ์ฌํฉ๋๋ค. ์ด ํํ ๋ฆฌ์ผ์ด ์ ์ฉํ ๊ฒ์
๋๋ค ๐ค.
Follow me in My blog,
to get more awesome tutorials like this one.
Please consider supporting me on Ko-fi you help me a lot to
continue building this tutorials!.
Reference
์ด ๋ฌธ์ ์ ๊ดํ์ฌ(๐ Django์์ PostgreSql ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค์ ), ์ฐ๋ฆฌ๋ ์ด๊ณณ์์ ๋ ๋ง์ ์๋ฃ๋ฅผ ๋ฐ๊ฒฌํ๊ณ ๋งํฌ๋ฅผ ํด๋ฆญํ์ฌ ๋ณด์๋ค
https://dev.to/developerroad/set-up-a-postgresql-database-in-django-4a1o
ํ
์คํธ๋ฅผ ์์ ๋กญ๊ฒ ๊ณต์ ํ๊ฑฐ๋ ๋ณต์ฌํ ์ ์์ต๋๋ค.ํ์ง๋ง ์ด ๋ฌธ์์ URL์ ์ฐธ์กฐ URL๋ก ๋จ๊ฒจ ๋์ญ์์ค.
์ฐ์ํ ๊ฐ๋ฐ์ ์ฝํ
์ธ ๋ฐ๊ฒฌ์ ์ ๋
(Collection and Share based on the CC Protocol.)
๐ฏ ์์ต์: Heroku์ Django ์ฑ ๋ฐฐํฌ
Developer Road์ Daniel Diaz ใป 2์ 18์ผ ใป 6๋ถ ์ฝ๊ธฐ
์ด์ heroku์ ๋ฐฐํฌํ ์ค๋น๊ฐ ๊ฑฐ์ ๋๋ฌ์ต๋๋ค. ๋จผ์ ๋ฐฐํฌํ ์ค๋น๊ฐ ๋๋๋ก ์ค์ ์ ์์ ํ๊ฒ ์ต๋๋ค.
django_heroku ๋ฐ python decouple ์ค์น
pip install gunicorn django-heroku python-decouple
๋ค๋ฅธ ์ง์นจ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค์ ์ ๋ํด์๋ง ์ค๋ช ํ๊ฒ ์ต๋๋ค.
dj_database_url ์ฌ์ฉ
dj_database_url
๋ django_heroku
์ ํจ๊ป ๋ฒ๋ค๋ก ์ ๊ณต๋๋ ํจํค์ง์
๋๋ค.ํจ์
dj_database_url.config()
๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ URL ๊ตฌ์ฑ์ ๋งค๊ฐ๋ณ์๋ก ์์ ํ๊ณ ์ด๋ฅผ ์ก์ธ์คํ๊ธฐ ์ํด ํ์ํ ํค๋ก ๋ณํํฉ๋๋ค.์์ :
# Import this packages previously dowloaded
import django_heroku
import dj_database_url
from decouple import config
# Go down until you find database stuff
# Database
# https://docs.djangoproject.com/en/3.1/ref/settings/#databases
# Commment out the sqlite database setup
# DATABASES = {
# 'default': {
# 'ENGINE': 'django.db.backends.sqlite3',
# 'NAME': BASE_DIR / 'db.sqlite3',
# }
# }
# These lines make all the magic
DATABASES = {
'default': dj_database_url.config(
default=config('DATABASE_URL')
)
}
ํ๋กํ ๋ง๋ค๊ธฐ
์ฑ์ ๋ฃจํธ ๋๋ ํ ๋ฆฌ์์ ์ด๊ฒ์ ์คํํ์ญ์์ค.
touch Procfile
ํ์ผ์ ์ด๊ณ ๋ค์ ์ค์ ๋ณต์ฌํฉ๋๋ค.
web: gunicorn (Your app).wsgi
์ด๊ฒ์ Heroku์๊ฒ gunicorn์ HTTP ์๋ฒ๋ก ์ฌ์ฉํ๊ณ (Your app)์ ์๋ wsgi ํ์ผ์ ์ฌ์ฉํ์ฌ ์น ํ๋ก์ธ์ค๋ฅผ ์คํํด์ผ ํจ์ ์๋ ค์ค๋๋ค. (๊ทํ์ ์ฑ)์ ํ๋ก์ ํธ ์ด๋ฆ์ผ๋ก ๋ณ๊ฒฝํด์ผ ํฉ๋๋ค.
๋๊ฒฐ์๊ตฌ์ฌํญ.txt
์์ฉ ํ๋ก๊ทธ๋จ์ ์๊ตฌ ์ฌํญ์ผ๋ก ํ์ผ์ ๊ณ ์ ํ๋ ค๋ฉด ๋ค์์ ์คํํ์ญ์์ค.
pip freeze > requirements.txt
Heroku๋ ํด๋น ํ์ผ์ ๊ฒ์ํ๋ฏ๋ก ํด๋น ๋ช
๋ น์ ์คํํ๋ ๊ฒ์ ์์ง ๋ง์ญ์์ค.
Github๋ก ๋ฐฐํฌ ๊ด๋ฆฌ
Github๋ฅผ ์ฌ์ฉํ ๋ฐฐํฌ๋ Heroku CLI ๋๊ตฌ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ๋ณด๋ค ํจ์ฌ ์ฌ์ฐ๋ฏ๋ก ๋ฐฐํฌํ๋ ค๋ ์ฑ์ผ๋ก Github์ ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ์์ฑํ๋ ๊ฒ์ ์์ง ๋ง์ญ์์ค.
๋ณ๊ฒฝ ์ฌํญ ํธ์
git add -A
git commit -m "Database Settings ready"
git push origin
์ด์ heroku ์น์ฌ์ดํธ์์ Deploy
ํญ์ผ๋ก ์ด๋ํ์ฌ Connect with github๋ฅผ ํด๋ฆญํฉ๋๋ค.
๋ฆฌํฌ์งํ ๋ฆฌ์ ๋ํ ์ก์ธ์ค ๊ถํ์ ๋ถ์ฌํ๊ธฐ ์ํด Github๋ก ๋ฆฌ๋๋ ์
๋ฉ๋๋ค.
์ด์ ๋ฐฐํฌํ๋ ค๋ ์ ์ฅ์๋ฅผ ์ฐ๊ฒฐํ์ญ์์ค.
๋ง์ง๋ง์ผ๋ก ์๋ ๋ฐฐํฌ์์ Deploy branch
๋ฅผ ํด๋ฆญํฉ๋๋ค.
์ค๋ฅ๊ฐ ๋ฐ์ํ๋ฉด ๊ธฐ๋ค๋ฆฌ์ญ์์ค ....
Heroku docs์ ์ฝ๊ฑฐ๋ ๋ฌธ์ ์๋์ ์๊ฒฌ์ ๋งํ์ญ์์ค.
์๊ฐ ๋ด์ฃผ์
์ ๊ฐ์ฌํฉ๋๋ค. ์ด ํํ ๋ฆฌ์ผ์ด ์ ์ฉํ ๊ฒ์
๋๋ค ๐ค.
Follow me in My blog,
to get more awesome tutorials like this one.
Please consider supporting me on Ko-fi you help me a lot to
continue building this tutorials!.
Reference
์ด ๋ฌธ์ ์ ๊ดํ์ฌ(๐ Django์์ PostgreSql ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค์ ), ์ฐ๋ฆฌ๋ ์ด๊ณณ์์ ๋ ๋ง์ ์๋ฃ๋ฅผ ๋ฐ๊ฒฌํ๊ณ ๋งํฌ๋ฅผ ํด๋ฆญํ์ฌ ๋ณด์๋ค
https://dev.to/developerroad/set-up-a-postgresql-database-in-django-4a1o
ํ
์คํธ๋ฅผ ์์ ๋กญ๊ฒ ๊ณต์ ํ๊ฑฐ๋ ๋ณต์ฌํ ์ ์์ต๋๋ค.ํ์ง๋ง ์ด ๋ฌธ์์ URL์ ์ฐธ์กฐ URL๋ก ๋จ๊ฒจ ๋์ญ์์ค.
์ฐ์ํ ๊ฐ๋ฐ์ ์ฝํ
์ธ ๋ฐ๊ฒฌ์ ์ ๋
(Collection and Share based on the CC Protocol.)
touch Procfile
web: gunicorn (Your app).wsgi
์์ฉ ํ๋ก๊ทธ๋จ์ ์๊ตฌ ์ฌํญ์ผ๋ก ํ์ผ์ ๊ณ ์ ํ๋ ค๋ฉด ๋ค์์ ์คํํ์ญ์์ค.
pip freeze > requirements.txt
Heroku๋ ํด๋น ํ์ผ์ ๊ฒ์ํ๋ฏ๋ก ํด๋น ๋ช ๋ น์ ์คํํ๋ ๊ฒ์ ์์ง ๋ง์ญ์์ค.
Github๋ก ๋ฐฐํฌ ๊ด๋ฆฌ
Github๋ฅผ ์ฌ์ฉํ ๋ฐฐํฌ๋ Heroku CLI ๋๊ตฌ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ๋ณด๋ค ํจ์ฌ ์ฌ์ฐ๋ฏ๋ก ๋ฐฐํฌํ๋ ค๋ ์ฑ์ผ๋ก Github์ ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ์์ฑํ๋ ๊ฒ์ ์์ง ๋ง์ญ์์ค.
๋ณ๊ฒฝ ์ฌํญ ํธ์
git add -A
git commit -m "Database Settings ready"
git push origin
์ด์ heroku ์น์ฌ์ดํธ์์ Deploy
ํญ์ผ๋ก ์ด๋ํ์ฌ Connect with github๋ฅผ ํด๋ฆญํฉ๋๋ค.
๋ฆฌํฌ์งํ ๋ฆฌ์ ๋ํ ์ก์ธ์ค ๊ถํ์ ๋ถ์ฌํ๊ธฐ ์ํด Github๋ก ๋ฆฌ๋๋ ์
๋ฉ๋๋ค.
์ด์ ๋ฐฐํฌํ๋ ค๋ ์ ์ฅ์๋ฅผ ์ฐ๊ฒฐํ์ญ์์ค.
๋ง์ง๋ง์ผ๋ก ์๋ ๋ฐฐํฌ์์ Deploy branch
๋ฅผ ํด๋ฆญํฉ๋๋ค.
์ค๋ฅ๊ฐ ๋ฐ์ํ๋ฉด ๊ธฐ๋ค๋ฆฌ์ญ์์ค ....
Heroku docs์ ์ฝ๊ฑฐ๋ ๋ฌธ์ ์๋์ ์๊ฒฌ์ ๋งํ์ญ์์ค.
์๊ฐ ๋ด์ฃผ์
์ ๊ฐ์ฌํฉ๋๋ค. ์ด ํํ ๋ฆฌ์ผ์ด ์ ์ฉํ ๊ฒ์
๋๋ค ๐ค.
Follow me in My blog,
to get more awesome tutorials like this one.
Please consider supporting me on Ko-fi you help me a lot to
continue building this tutorials!.
Reference
์ด ๋ฌธ์ ์ ๊ดํ์ฌ(๐ Django์์ PostgreSql ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค์ ), ์ฐ๋ฆฌ๋ ์ด๊ณณ์์ ๋ ๋ง์ ์๋ฃ๋ฅผ ๋ฐ๊ฒฌํ๊ณ ๋งํฌ๋ฅผ ํด๋ฆญํ์ฌ ๋ณด์๋ค
https://dev.to/developerroad/set-up-a-postgresql-database-in-django-4a1o
ํ
์คํธ๋ฅผ ์์ ๋กญ๊ฒ ๊ณต์ ํ๊ฑฐ๋ ๋ณต์ฌํ ์ ์์ต๋๋ค.ํ์ง๋ง ์ด ๋ฌธ์์ URL์ ์ฐธ์กฐ URL๋ก ๋จ๊ฒจ ๋์ญ์์ค.
์ฐ์ํ ๊ฐ๋ฐ์ ์ฝํ
์ธ ๋ฐ๊ฒฌ์ ์ ๋
(Collection and Share based on the CC Protocol.)
git add -A
git commit -m "Database Settings ready"
git push origin
Follow me in My blog,
to get more awesome tutorials like this one.
Please consider supporting me on Ko-fi you help me a lot to
continue building this tutorials!.
Reference
์ด ๋ฌธ์ ์ ๊ดํ์ฌ(๐ Django์์ PostgreSql ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค์ ), ์ฐ๋ฆฌ๋ ์ด๊ณณ์์ ๋ ๋ง์ ์๋ฃ๋ฅผ ๋ฐ๊ฒฌํ๊ณ ๋งํฌ๋ฅผ ํด๋ฆญํ์ฌ ๋ณด์๋ค https://dev.to/developerroad/set-up-a-postgresql-database-in-django-4a1oํ ์คํธ๋ฅผ ์์ ๋กญ๊ฒ ๊ณต์ ํ๊ฑฐ๋ ๋ณต์ฌํ ์ ์์ต๋๋ค.ํ์ง๋ง ์ด ๋ฌธ์์ URL์ ์ฐธ์กฐ URL๋ก ๋จ๊ฒจ ๋์ญ์์ค.
์ฐ์ํ ๊ฐ๋ฐ์ ์ฝํ ์ธ ๋ฐ๊ฒฌ์ ์ ๋ (Collection and Share based on the CC Protocol.)
์ข์ ์นํ์ด์ง ์ฆ๊ฒจ์ฐพ๊ธฐ
๊ฐ๋ฐ์ ์ฐ์ ์ฌ์ดํธ ์์ง
๊ฐ๋ฐ์๊ฐ ์์์ผ ํ ํ์ ์ฌ์ดํธ 100์ ์ถ์ฒ ์ฐ๋ฆฌ๋ ๋น์ ์ ์ํด 100๊ฐ์ ์์ฃผ ์ฌ์ฉํ๋ ๊ฐ๋ฐ์ ํ์ต ์ฌ์ดํธ๋ฅผ ์ ๋ฆฌํ์ต๋๋ค