๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
studies/Back-end

[Django] ํ”„๋กœ์ ํŠธ์™€ ์•ฑ ์ƒ์„ฑํ•˜๊ธฐ (Window ํ™˜๊ฒฝ)

by Vada Kim 2020. 12. 30.
728x90
๋ฐ˜์‘ํ˜•

์œˆ๋„์šฐ์—์„œ ์žฅ๊ณ  ํ”„๋กœ์ ํŠธ์™€ ์•ฑ ์ƒ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•

์ด์ „๊ธ€ : we-always-fight-with-code.tistory.com/110?category=892282

 

[Django] ์„ค์น˜ํ•˜๊ธฐ (Window) ๊ฐ€์ƒํ™˜๊ฒฝ ๋งŒ๋“ค๊ธฐ

Python version 3.8.2 ์—์„œ ์ž‘์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์žฅ๊ณ ์™€ ๊ด€๋ จ๋œ ๋ชจ๋“  ์ˆ˜ํ–‰์€ ๊ฐ€์ƒํ™˜๊ฒฝ ์•ˆ์—์„œ ์ด๋ฃจ์–ด์ ธ์•ผ ํ•œ๋‹ค. 1. cmd๋ฅผ ์—ด์–ด ๊ฐ€์ƒํ™˜๊ฒฝ์„ ๋งŒ๋“ค ๊ฒฝ๋กœ๋กœ ์ด๋™ 2. ๊ฐ€์ƒํ™˜๊ฒฝ ์ค€๋น„ pip install virtualenv 3. ๊ฐ€์ƒํ™˜๊ฒฝ

we-always-fight-with-code.tistory.com

๊ธฐ๋ณธ์„ธํŒ… ํŠœํ† ๋ฆฌ์–ผ - ์ด์–ด์„œ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

์ €๋Š” ๊ธฐ์กด ์žฅ๊ณ  ๊ธฐ์กด ์•ฑ ๋ณด์ˆ˜ ์ค‘์— ๋ญ”๊ฐ€ ๊ผฌ์—ฌ์„œ ๊ทธ๋ƒฅ ์ƒˆ๋กœ ๋งŒ๋“œ๋Š” ์ค‘์ด๋„ค์š”. ใ…Žใ…Ž ใ… ใ… 

 

โ€ป์žฅ๊ณ  ๊ฐ€์ƒํ™˜๊ฒฝ ์„ธํŒ…์ด ๋˜์–ด์žˆ๋‹ค๋Š” ์ „์ œ๋กœ ์ž‘์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

 

์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„  ์žฅ๊ณ  ํ”„๋กœ์ ํŠธ์™€ ์•ฑ, ๊ทธ๋ฆฌ๊ณ  ์•ฑ์—์„œ ์‚ฌ์šฉํ•  DB ๋ชจ๋ธ๊นŒ์ง€ ์ƒ์„ฑํ•ด๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.


1. Scripts ํด๋”์—์„œ ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ

django-admin.py startproject mysite .

์ด๋•Œ mysite๋Š” ์ƒ์„ฑํ•  ์žฅ๊ณ  ํ”„๋กœ์ ํŠธ ํด๋”๋ช…์ž…๋‹ˆ๋‹ค. ๋์— ์  ๋ถ™์ด์…”์•ผ ํ•ฉ๋‹ˆ๋‹ค.

ํƒ์ƒ‰๊ธฐ์—์„œ ์ƒ์„ฑ๋œ ๊ฑธ ํ™•์ธํ•ด๋ณด์‹œ๊ตฌ์š”.
๋งˆ์ง€๋ง‰์— ์ ์„ ๋ถ™์—ฌ์•ผ ์ด๋ ‡๊ฒŒ ํŒŒ์ผ๋“ค์ด ๊ฐ™์€ ๋†’์ด์— ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค.

๋งŒ์•ฝ mysite ํด๋”์•ˆ์— ๊ฐ™์€ ์ด๋ฆ„์˜ ํด๋”๊ฐ€ ๋˜ ์กด์žฌํ•œ๋‹ค๋ฉด ์ ์„ ๋ถ™์ด์ง€ ์•Š๊ณ  ๋ช…๋ น์„ ์‹คํ–‰ํ•œ ๊ฒƒ์ด๋‹ˆ mysite ํด๋”๋ฅผ ์‚ญ์ œ ํ›„ ๋‹ค์‹œ ๋ช…๋ น ์ž…๋ ฅํ•ด์ฃผ์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

 

2. settings.py ํŽธ์ง‘

mysite ํด๋” ์•ˆ์— settings.py ๋ผ๋Š” ํŒŒ์ผ์„ ์—ด๊ณ  ์•„๋ž˜์™€ ๊ฐ™์ด ์ˆ˜์ •ํ•ด์ค๋‹ˆ๋‹ค.

TIME_ZONE = 'Asia/Seoul'
STATIC_URL = '/static/'

STATIC_ROOT = os.path.join(BASE_DIR, 'static')

 

3. Sqlite DB ์ƒ์„ฑ

์žฅ๊ณ ์—์„œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” Sqlite๊ฐ€ ๋””ํดํŠธ์ž…๋‹ˆ๋‹ค. ๋ณดํ†ต ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉํ•˜๊ธด ํ•˜๋Š”๋ฐ, ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด ๋‹ค๋ฅธ ๋ฌธ์„œ๋ฅผ ์ฐธ๊ณ ํ•˜์‹œ๊ธธ ๋ฐ”๋ž๋‹ˆ๋‹ค.

python manage.py migrate

 

4. ์žฅ๊ณ  ์•ฑ ์ƒ์„ฑ

python manage.py startapp [์ƒˆ ์•ฑ ์ด๋ฆ„(๋””๋ ‰ํ† ๋ฆฌ๋ช…)]

์—ญ์‹œ Scripts ํด๋” ๋‚ด์ž…๋‹ˆ๋‹ค.

์•ฑ ๋””๋ ‰ํ† ๋ฆฌ ๋‚ด๋ถ€์— ์ƒ์„ฑ๋œ ํŒŒ์ผ๋“ค

 

5. ์•ฑ ์ถ”๊ฐ€

Scripts/mysite(ํ”„๋กœ์ ํŠธdir)/settings.py ๋ฅผ ์—ด๊ณ  ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์•ฑ ์ด๋ฆ„์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    '[์ƒ์„ฑํ•œ ์•ฑ ์ด๋ฆ„]',
]

 

6. DB ๋ชจ๋ธ ์ถ”๊ฐ€

1) ์•ฑํด๋”/models.py์— DB๋ชจ๋ธ๋กœ ์‚ฌ์šฉํ•  ํŒŒ์ด์ฌ ํด๋ž˜์Šค(๊ฐ์ฒด)๋ฅผ ์ •์˜ํ•œ๋‹ค.

2) ๋ชจ๋ธ ์ƒ์„ฑ

python manage.py makemigrations [์•ฑ์ด๋ฆ„]

3) ๋ชจ๋ธ ๋ฐ˜์˜

python manage.py migrate [์•ฑ์ด๋ฆ„]

์˜ค๋Š˜์˜ ํฌ์ŠคํŒ…์€ ์—ฌ๊ธฐ๊นŒ์ง€์ž…๋‹ˆ๋‹ค. ๋‹ค๋“ค ์žฅ๊ณ  ๊ฐœ๋ฐœํ•˜๋Š”๋ฐ์— ํ™”์ดํŒ… ํ•˜์‹œ๊ธธ ๋ฐ”๋ž๋‹ˆ๋‹ค!

728x90
๋ฐ˜์‘ํ˜•