Start Django Project
ํ๋ก์ ํธ ๋ง๋ค๊ธฐ
์ด๋ project๋ช ์ผ๋ก ์ค์ ํจํค์ง ๋ช ์ด ๊ฒฐ์ ๋๋ฏ๋ก startproject์ ์ ๋ฌ๋๋ ํ๋ก์ ํธ๋ช ์ผ๋ก config๋ฅผ ์ฌ์ฉํ ๊ฒ์ด๋ค.
ํ๋ก์ ํธ ์์ฑํ์๋ ํด๋๋ช ์ ํ๋ก์ ํธ ๋ช ์ผ๋ก ๋ณ๊ฒฝํด์ค๋ค.
๊ธฐ๋ณธ ๋๋ ํ ๋ฆฌ ๋ฐ ํ์ผ ๊ตฌ์กฐ
ํ์ฌ ๋๋ ํ ๋ฆฌ์ <project_name>
๋๋ ํ ๋ฆฌ์ ์๋์ ํ์ผ๋ค์ด ์์ฑ๋๋ค.
manage.py
: ์ฌ์ดํธ ๊ด๋ฆฌ๋ฅผ ๋์์ฃผ๋ ์ญํ ์ ํ๋ ์คํฌ๋ฆฝํธ์ด๋ค. ๋ค๋ฅธ ์ปดํจํฐ์์ ๋ค๋ฅธ ์ค์น ์์ ์์ด ์น ์๋ฒ๋ฅผ ์์ํ ์ ์๋ค.(์ถํ์ ๊ด๋ จ ์ ๋ณด update)config/
: ๋๋ ํ ๋ฆฌ ๋ด๋ถ์ ํ๋ก์ ํธ๋ฅผ ์ํ ์ค์ python ํจํค์ง๋ค์ด ์ ์ฅ๋๋ค.config.urls
,config.settings
๋ค์๊ณผ ๊ฐ์ด ํ๋ก์ ํธ ๋ด๋ถ ์ด๋์์๋ ์ ๊ทผ(import)ํ ์ ์๋ค.
config/__init__.py
: ํด๋น ๋๋ ํ ๋ฆฌ๊ฐ ํจํค์ง์ ์ผ๋ถ์์ ์๋ ค์ฃผ๋ ์ญํ ์ ํ๋ค.
python version 3.3 ๋ถํฐ๋
__init__.py
๊ฐ ์์ด๋ ํจํค์ง๋ก ์ธ์์ด๋์ง๋ง, ํ์ ๋ฒ์ ๊ณผ ํธํ์ ์ํด ์์ฑํ๋ ๊ฒ์ด ์์ ํ๋ค.
config/settings.py
: ํ์ฌ Django ํ๋ก์ ํธ์ ํ๊ฒฝ/๊ตฌ์ฑ์ ์ ์ฅํ๋ค.(์ถํ์ ๊ด๋ จ ์ ๋ณด update)config/urls.py
: ํ์ฌ Django ํ๋ก์ ํธ์ URL์ ์ธ์ ์ ์ฅํ๋ค.urlresolver
๊ฐ ์ฌ์ฉํ๋ ํจํด ๋ชฉ๋ก์ ํฌํจํ๋ค.(์ถํ์ ๊ด๋ จ ์ ๋ณด update)config/wsgi.py
: ํ์ฌ ํ๋ก์ ํธ๋ฅผ ์๋น์คํ๊ธฐ ์ํ WSGI config ์ค์ ํ์ผ์ด๋ค.
WSGI(Web Server Gateway Interface)
์น์๋ฒ์ ํ์ด์ฌ ์น ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐํ๊ฒฝ ๊ฐ์ ์ธํฐํ์ด์ค์ ๋ํ ๊ท์น์ด๋ค.
์ฌ๊ธฐ์ ์ค์น๋ pip ํจํค์ง ๋ชฉ๋ก์ requirements.txt
๋ก ๋จ๊ฒจ๋์ด ๊ด๋ฆฌํ๋ ๊ฒ์ด ์ข๋ค.
ํ๋ก์ ํธ ์๋ฒ
์๋ฒ ์์ํ๊ธฐ
runserver๋ฅผ ์ฑ๊ณตํ๋ฉด http://localhost:8000/
๋๋ http://127.0.0.1:8000/
๋ก ํ์ธ ํ ์ ์๋ค.
ํน์ ํฌํธ๋ก ์๋ฒ ์์ํ๊ธฐ
์๋ฒ ์คํ ์ข
๋ฃํ๊ธฐ
control
+ C
๋ฅผ ํ๋ฉด ์ข
๋ฃ๋๋ค.
ํ๋ก์ ํธ ์ค์ (settings.py)
Timezone ์ค์
์ ํํ ์๊ฐ ์ค์ ์ ์ํด์ wiki timezone ์์ ์ฐพ์์ ์ค์ ํด์ค๋ค.
STATIC_ROOT ์ค์
STATIC_URL
์ค์ ๋ฐ์ ๊ฒฝ๋ก๋ฅผ ์ค์ ํด์ค๋ค.
ALLOWED_HOSTS
๋ค์๊ณผ ๊ฐ์ด ์ค์ ์ด ๋์ด์์๋๋ ['localhost', '127.0.0.1', '[::1]']
์ ๋ํด์ ์ ํจํ๋ค.
INSTALLED_APPS
django.contrib.admin
: ๊ด๋ฆฌ์ฉ ์ฌ์ดํธdjango.contrib.auth
: ์ธ์ฆ ์์คํ django.contrib.contenttypes
: ์ปจํ ์ธ ํ์ ์ ์ํ ํ๋ ์ ์ํฌdjango.contrib.sessions
: ์ธ์ ํ๋ ์์ํฌdjango.contrib.messages
: messaging ํ๋ ์์ํฌdjango.contrib.staticfiles
: ์ ์ ํ์ผ์ ๊ด๋ฆฌํ๋ ํ๋ ์์ํฌ
๋ฐ์ดํฐ๋ฒ ์ด์ค
migration
migrate ๋ช
๋ น์ settings.py
์ INSTALLED_APPS ์ค์ ์ ํ์ํ์ฌ, ๋ฐ์ดํฐ๋ฒ ์ด์ค migrations์ ๋ฐ๋ผ ํ์ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ
์ด๋ธ์ ์์ฑํ๋ค.
migrateํ๊ธฐ ์ ์ ๋ถํ์ํ ์ ํ๋ฆฌ์ผ์ด์ (INSTALLED_APPS)์ ์ฃผ์์ฒ๋ฆฌ ๋๋ ์ญ์ ํด์ฃผ๋ฉด ์์ฑ๋์ง์๋๋ค.
ModuleNotFoundError
Migrate ์คํ์ ๋ค์๊ณผ ๊ฐ์ ์ค๋ฅ๊ฐ ๋ฐ์ํ ์ ์๋ค. ์ด๋ฌํ ๊ฒฝ์ฐ์๋
์๊ธฐ๊ฐ ์ค์ ํ python version์ผ๋ก ๋ค์ ๋ช ๋ น์ด๋ฅผ ์คํํด์ฃผ๋ฉด ๋๋ค.
git ๋ฒ์ ๊ด๋ฆฌ
git์ผ๋ก ๋ฒ์ ๊ด๋ฆฌ์ git์ผ๋ก ๊ด๋ฆฌ๋์ง ์์ ํ์ผ ๋ชฉ๋ก์ธ .gitignore
ํ์ผ์ ์์ฑํด ๊ด๋ฆฌํ๋ค. ์ผ๋ฐ์ ์ผ๋ก Django ํ๋ก์ ํธ์์ ์ฌ์ฉํ๋ ํ์ผ์ wget์ผ๋ก ์ฌ์ฉํด ์น์์ ๋ณต์ฌํด์ ์ฌ์ฉํ ๊ฒ์ด๋ค.
์ฐธ์กฐํ์ด์ง
Last updated