์ฐ์ Python> = 3.3์ด ์ค์น๋์ด ์๋์ง ํ์ธํ์ญ์์ค.
python -V
or python3 -V
๊ทธ ํ๋ก์ ํธ ํด๋ ์์์ ์ด ๋ช ๋ น์ด ์น๊ธฐ:
python3 -m venv venv
source venv/bin/activate
์ด์ command prompt์ (venv)๊ฐ ๋ถ์ด ๋์ต๋๋ค; ๊ทธ๊ฒ์ด ํ์ฌ ๊ฐ์ ํ๊ฒฝ ๋ด์ ์๋ค๋ ์ฆ๋ช
์ฌ์ฉ ์ค์ ์ปดํจํฐ์ ์ฌ๋ฌ ๋ฒ์ ์ Python์ด ์๋ ๊ฒฝ์ฐ ์ด๋
python -V
๋ฅผ ์ ๋ ฅํด๋ณด๋ฉด ์ง๊ธ ๋ง๋ ๊ฐ์ ํ๊ฒฝ์ python ๋ฒ์ (์ด ๊ฒฝ์ฐ python3)์ด ํ์คํ ํ์๋ฉ๋๋ค.
pip install django
ํน์ ๋ฒ์ ์ ์ถ๊ฐ ํ ์๋ ์์ต๋๋ค;์๋ฅผ ๋ค์ด
pip install Django==3.1.7
pip freeze
: ์ง๊ธ๊น์ง ํ Django project์ ์ค์นํ python package ๋ชฉ๋ก์ ๋์คํ๋ ์ด ํด์ค
django-admin startproject myproject
์ด๋ ๊ฒ ํ๋ฉด "myproject" ํด๋๊ฐ 2๊ฐ ์์ฑ๋ฉ๋๋ค = ์ธ๋ถ & ๋ด๋ถ; ์ํ๋ ๋๋ก ์ธ๋ถ "myproject" ํด๋์ ์ด๋ฆ์ ๋ณ๊ฒฝํ ์ ์์ผ๋, ๋ด๋ถ "myproject" ํด๋ ์ด๋ฆ์ ๋ฐ๊พธ์ง ๋ง์ธ์. ์ด ๋ด๋ถ "myproject" ํด๋๊ฐ "settings.py"๋ฑ ์ฌ๋ฌ ๊ฐ์ง ์ค์ํ ์ ๋ณด๋ฅผ ๋ด์ฅํ๋ Django ๊ทผ๋ณธ "ํ๋ก์ ํธ" ํด๋์ ๋๋ค.
ํด๋ ๊ธฐ๋ณธ ๊ตฌ์กฐ
(์ปจํ
์ด๋ root)
โโโ /venv
โโโ /myproject -> ์ฅ๊ณ ํ๋ก์ ํธ ์ปจํ
์ด๋ (์ด๋ฆ ๋ฐ๊พธ์
๋ ๋ฉ๋๋ค!)
โ โโโ manage.py -> ํ์ด์ฌ "์คํ"์ ์ค์ํ ํ์ผ!!!
โ โโโ /myproject -> "์ง์ง" ์ฅ๊ณ ํ๋ก์ ํธ ํด๋
โ โ โโโ __init__.py
โ โ โโโ asgi.py
โ โ โโโ settings.py -> ***Django ํ๋ก์ ํธ์ ๋ชจ๋ ๊ตฌ์ฑ ์ค์ ํ๋ ์ค์ํ ํ์ผ!!
โ โ โโโ urls.py -> ***Django ํ๋ก์ ํธ์ url paths ์ค์ ํ๋ ์ค์ํ ํ์ผ!!
โ โ โโโ wsgi.py
โ ...
โ # -- ์ด์ ๋ค๋ฅธ django app์ ์ด ๋ ๋ฒจ์์ ๊ฐ๊ฐ ํด๋๋ก ์์ฑ๋ฉ๋๋ค
โ โโโ /other-app01 -> ์ฅ๊ณ "์ฑ 01" ํด๋..
โ โโโ /other-app02 -> ์ฅ๊ณ "์ฑ 02" ํด๋..
...
cd myproject
python manage.py runserver
โจ ์ฑ๊ณต์ด๋ฉด http://127.0.0.1:8000/ or http://localhost:8000/ ์์ฑ!
deactivate
python manage.py createsuperuser
์ด๊ฒ์ ์ด์ฉํด http://127.0.0.1:8000/admin or http://localhost:8000/admin ์ ๋ก๊ทธ์ธ
ํ๋ก์ ํธ ์ปจํ ์ด๋ ๋ฃจํธ์์ ๋ค์ ๋๊ฐ์ง ๋ช ๋ น์ด๋ค์ ์คํํ์ญ์์ค.
source venv/bin/activate
๊ฐ์ ํ๊ฒฝ ํ์ฑํ
python manage.py runserver
ํ์ผ์ด์๋ ํด๋๋ก ์ฎ๊ฒจ ๊ฐ ํ manage.py ์๋ฒ ์คํ!
SQLite ๋์ Postgre DB ์ค์ :
# @Django-ํ๋ก์ ํธ-ํด๋/settings.py
DATABASES = {
'default': {
"ENGINE": "django.db.backends.postgresql",
"NAME": "<your-postgresql-db-name>",
"USER": "<your-postgresql-username>",
"PASSWORD": "<your-postgresql-password>",
}
}
pip freeze > requirements.txt
์ค์น๋ ๋ชจ๋ Django ํจํค์ง๋ฅผ "requirements.txt"๋ผ๋ ์ ํ ์คํธ ํ์ผ์ ๋ฆฌ์คํธ ์์ฑ
๐ช๊ธฐ์กด DJANGO PROJ๋ฅผ ์ค์นํ๋ ค๋ฉด? ๊ฐ๋ฅํ๋ฉด ์ฝ๊ฒ "requirements.txt"๋ฅผ ์คํํ์ญ์์ค.
pip install -r requirements.txt
HAPPY LEARNING! ๐
DJANGO ํ๊ธ ๊ฐ์ด๋: https://docs.djangoproject.com/ko/3.1/
Django ํ์ด๋ณด๊ธฐ (Django at a glance) https://docs.djangoproject.com/ko/3.1/intro/overview/