Django์์ ๋จ์ ํ ์คํธ ์คํํ๊ธฐ ํฌ์คํ ์์ import ๊ด๋ จ ์ด์๋ฅผ ํด๊ฒฐํ๋ค. ํด๋ฆฐ ์ฝ๋๋ฅผ ์ํ ํ ์คํธ ์ฃผ๋ ๊ฐ๋ฐ ์ฑ ์ ๋ณด๊ณ ๋ฐ๋ผํ์๋ ๋ถ๋ค๋ ์ด๋ฒ ํฌ์คํ ์ผ๋ก ์๋ฌ๋ฅผ ํด๊ฒฐํ์ค ์ ์์๊ฑฐ๋ค.
Django๋ฅผ ์์ํ ๋ django-admin startproject project-name
์ ํ๋ฉด ๋ค์๊ณผ ๊ฐ์ ๊ตฌ์กฐ๋ก ๋๋ ํฐ๋ฆฌ์ ํ์ผ๋ค์ด ์์ฑ๋๋ค.
project-name
ใด project-name
ใด __init__.py
ใด settings.py
ใด urls.py
ใด wsgi.py
๋ฃจํธ ๋๋ ํฐ๋ฆฌ์ ๋์ผํ ์ด๋ฆ์ ํด๋๊ฐ ํ๋ ๋ ์๊ธฐ๊ฒ ๋๋ค.
์ฒ์์ ๋ณ ๋ฌธ์ ๊ฐ ์์ง๋ง app์ ์์ฑํ๊ณ import๋ฅผ ํ๊ฒ ๋ ๋ ๋ค์์ฒ๋ผ ์ค๋ณต๋ ํด๋๋ช ๋๋ฌธ์ ๊ธธ์ ํค๋งค๋ ๊ฒฝ์ฐ๊ฐ ์๊ธด๋ค.
ModuleNotFoundError: No module named 'project-name.app'
์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด์๋ ํด๋๋ช ์ ๋ณ๊ฒฝํด์ฃผ์ด์ผ ํ๋ค.
ํ์ ํด๋๋ช
์ config
(๋๋ ์ํ๋ ์ด๋ฆ)๋ก ๋ณ๊ฒฝํ๋ค. ๋น์ฐํ ์์กด๋๋ ๋ชจ๋ ์ฝ๋๋ฅผ ๋ณ๊ฒฝํด์ฃผ์ด์ผ ํ๋ค.
์ฐ์ config.settings
์์ !
WSGI_APPLICATION = 'config.wsgi.application'
๋ค์์ผ๋ก manage.py
์์ !
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'config.settings')
์๋ง ์ ์์ ์ผ๋ก ์คํ์ด ๋ ๊ฒ์ด๋ค.
์ถ๊ฐ์ ์ผ๋ก ํ์์ ๊ฒฝ์ฐ config
ํ์์ urls.py
๋ root_urls.py
์ ๊ฐ์ด ๋ณ๊ฒฝํ๊ณ app์ url๋ค์ ์ด ํ์ผ์ ๋ชจ๋ includeํ์ฌ ๊ด๋ฆฌํ๋ค.
์์ ๋ง์ฐฌ๊ฐ์ง๋ก ๋ฃจํธ url ํ์ผ๋ช
์ ๋ณ๊ฒฝํ์ ์ settings.py
๋ฅผ ์์ ํด์ฃผ์ด์ผ ํ๋ค :)
ROOT_URLCONF = 'config.root_urls'