๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ“๐Ÿ’ช/Django

ํ๋ฆ„ ์ •๋ฆฌ

by ์ˆ˜์จ”์•™ 2022. 9. 26.

์ชฝ์ง€์‹œํ—˜์œผ๋กœ ํ๋ฆ„ ์ •๋ฆฌ๋ฅผ ํ•ด๋ณด์ž!

๋”๋ณด๊ธฐ

์ชฝ์ง€์‹œํ—˜

Django ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์‹คํ–‰์‹œ์ผœ ์ ‘์†ํ•ด๋ณด๊ธฐ

์˜ค๋Š˜์˜ ๋ชฉํ‘œ - ํŒŒ์ด์ฐธ์˜ ํ”„๋กœ์ ํŠธ ์ž๋™ ์ƒ์„ฑ ๋ฐ ํ”„๋กœ์ ํŠธ ์‹คํ–‰ ๊ธฐ๋Šฅ ์—†์ด ๋ช…๋ น์–ด๋กœ๋งŒ ๋ฌธ์ œ ํ’€์–ด๋ณด๊ธฐ

์‚ฌ์šฉํ•  ๋ช…๋ น์–ด

python -m venv venv : ๊ฐ€์ƒ ํ™˜๊ฒฝ ์ƒ์„ฑํ•˜๊ธฐ

venv\\scripts\\activate : (windows)๊ฐ€์ƒ ํ™˜๊ฒฝ ์ ‘์†ํ•˜๊ธฐ

source ./venv/bin/activate : (mac) ๊ฐ€์ƒ ํ™˜๊ฒฝ ์ ‘์†ํ•˜๊ธฐ

pip install django : django ํŒจํ‚ค์ง€ ์„ค์น˜ํ•˜๊ธฐ

django-admin startproject $ํ”„๋กœ์ ํŠธ์ด๋ฆ„ . : ํ˜„์žฌ ๊ฒฝ๋กœ์— ์›ํ•˜๋Š” ์ด๋ฆ„์œผ๋กœ ํ”„๋กœ์ ํŠธ ์ƒ์„ฑํ•˜๊ธฐ

python manage.py startapp $์•ฑ์ด๋ฆ„ : ์›ํ•˜๋Š” ์ด๋ฆ„์œผ๋กœ ์•ฑ ๋งŒ๋“ค๊ธฐ

1. ํ”„๋กœ์ ํŠธ์— ์‚ฌ์šฉ๋  ํด๋”๋ฅผ ์ƒ์„ฑํ•˜๊ณ , ํŽธ์ง‘๊ธฐ์—์„œ ์ƒ์„ฑํ•œ ํด๋”๋ฅผ ์—ด์–ด์ฃผ์„ธ์š”

2. ํŒŒ์ด์ฌ ๊ฐ€์ƒ ํ™˜๊ฒฝ์„ ์ƒ์„ฑํ•˜๊ณ  ํ™œ์„ฑํ™” ํ•ด์ฃผ์„ธ์š”

3. django ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜ํ•ด์ฃผ์„ธ์š”

4. spartatest๋ผ๋Š” django ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒ์„ฑํ•ด์ฃผ์„ธ์š”

5. introduce๋ผ๋Š” ์•ฑ์„ ์ƒ์„ฑํ•ด์ฃผ์„ธ์š”

6. introduce/templates ๊ฒฝ๋กœ์— ๊ฐ„๋‹จํ•œ ์ž๊ธฐ์†Œ๊ฐœ๋ฅผ ์ ์€ ํƒฌํ”Œ๋ฆฟ html์„ ๋งŒ๋“ค์–ด์ฃผ์„ธ์š”

7. 127.0.0.1:8000/introduce/ ๊ฒฝ๋กœ์˜ ํŽ˜์ด์ง€์— ์ ‘์†ํ–ˆ์„ ๋•Œ ์ž๊ธฐ์†Œ๊ฐœ ํŽ˜์ด์ง€๊ฐ€ ๋ณด์ผ ์ˆ˜ ์žˆ๋„๋ก ์„ค์ •ํ•ด์ฃผ์„ธ์š”

 

 

1๋ฒˆ~5๋ฒˆ๊นŒ์ง€๋Š” ์•„๋ž˜ ๊ฐ€์ƒํ™˜๊ฒฝ ์„ค์ •์„ ์ฐธ๊ณ ํ•ด์„œ ๋งŒ๋“ค์ž

 

https://sizzang97.tistory.com/128?category=1085288 

 

vs code ๊ฐ€์ƒํ™˜๊ฒฝ ์„ค์ •ํ•˜๊ธฐ

visual studio code๋Š” ์ฒ˜์Œ ์จ๋ณธ๋‹ค! ํ„ฐ๋ฏธ๋„๋„ ๊ทธ๋™์•ˆ ๋ณ„๋กœ ์‚ฌ์šฉ์„ ์•ˆํ–ˆ์–ด์„œ ์ƒ์†Œํ–ˆ์ง€๋งŒ ์–ด์ฐจํ”ผ ์–ธ์  ๊ฐ€ ๋ฐฐ์šฐ๊ณ  ์‚ฌ์šฉํ–ˆ์–ด์•ผ ํ•  ๊ฒƒ๋“ค์ด์—ˆ๋‹ค ๋“œ๋””์–ด ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์–ด์„œ ๋‹คํ–‰!! ์ƒˆ ํ”„๋กœ์ ํŠธ๋ฅผ ์‹œ์ž‘ํ•  ๋•Œ ๊ฐ€

sizzang97.tistory.com

 

 

6.introduce/templates ๊ฒฝ๋กœ์— ๊ฐ„๋‹จํ•œ ์ž๊ธฐ์†Œ๊ฐœ๋ฅผ ์ ์€ ํƒฌํ”Œ๋ฆฟ html์„ ๋งŒ๋“ค์–ด์ฃผ์„ธ์š”

 

 

7. 127.0.0.1:8000/introduce/ ๊ฒฝ๋กœ์˜ ํŽ˜์ด์ง€์— ์ ‘์†ํ–ˆ์„ ๋•Œ ์ž๊ธฐ์†Œ๊ฐœ ํŽ˜์ด์ง€๊ฐ€ ๋ณด์ผ ์ˆ˜ ์žˆ๋„๋ก ์„ค์ •ํ•ด์ฃผ์„ธ์š”

์ €๋ฒˆ์— ์ •๋ฆฌํ–ˆ๋˜ ์ € ํ๋ฆ„๋Œ€๋กœ ์ž‘์„ฑ์„ ํ•ด๋ณด์ž

test2ํด๋”์— spartatest ํ”„๋กœ์ ํŠธ๋ฅผ ๋งŒ๋“ค๊ณ , introduce ์•ฑ์„ ๋งŒ๋“ค์—ˆ๋‹ค!

 

index.html์„ views.py๋กœ ๋ณด์—ฌ์ฃผ๊ณ , urls.py๋กœ ๊ฒฝ๋กœ ์ฃผ๊ณ urls.py๋ฅผ ์—ฐ๊ฒฐ์‹œ์ผœ์ฃผ๋ฉด ๋œ๋‹ค!

 

settings.py์— introduce ์ถ”๊ฐ€

์ผ๋‹จ ์•ฑ์„ ๋งŒ๋“ค์–ด์คฌ์œผ๋‹ˆ ์žฅ๊ณ ์—๊ฒŒ ์•Œ๋ ค์ค˜์•ผ ํ•œ๋‹ค.

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'introduce',
]

 

 

1) introduce/view.py ์ž‘์„ฑ

index.html์„ ๋ณด์—ฌ์ค˜์•ผํ•˜๋‹ˆ๊นŒ views.py ์ž‘์„ฑ ํ•ด์ฃผ์ž render์€ ๋ณด์—ฌ์ฃผ๋Š”๊ฒƒ!

from django.shortcuts import render

def introduce_view(request):
    return render(request, 'index.html')

 

 

2) introduce ์•ฑ์— urls.py ์ƒ์„ฑ ํ›„ ์ฝ”๋“œ ์ž‘์„ฑ

์•ฑ์˜ urls.py์™€ urls.py๋ฅผ ์—ฐ๊ฒฐ์‹œ์ผœ์ฃผ๋ ค๋ฉด urls.py๊ฐ€ ์žˆ์–ด์•ผํ•œ๋‹ค!

introduce_view๋Š” views์— ์žˆ์œผ๋‹ˆ๊นŒ import๋กœ ๊ฐ€์ ธ์™€์„œ ๋ณด์—ฌ์ฃผ๋Š”๊ฒƒ!

introduce/ ๊ฒฝ๋กœ์„ค์ •๋„ ํ•ด์ฃผ์ž

from django.urls import path
from . import views

urlpatterns = [
    path('introduce/', views.introduce_view)
]

 

 

3) urls์™€ introduce/urls ์ด์–ด์ฃผ์ž

include๋ฅผ import ํ•ด์„œ introduce์˜ urls๋ฅผ ๋ฐ›์•„์˜ค๋Š” ๊ฒƒ!

from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('introduce.urls'))
]

 

 

 

http://127.0.0.1:8000/introduce/

 

์š”๊ธฐ๋กœ ๋“ค์–ด๊ฐ€๋ฉด ์ž˜ ๋‚˜์˜จ๋‹ค!

 

 

728x90

๋Œ“๊ธ€