๐Ÿ”ซ Django ํ”„๋กœ์ ํŠธ ํด๋”๋ช… ์ค‘๋ณต ๋ฌธ์ œ ํ•ด๊ฒฐ

์ด์Šˆ

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'

Written by@ugaemi
Record things I want to remember

๐Ÿฑ GitHub๐Ÿ“š Reading Space