์ฒซ ๋ฒ์งธ ์ฅ๊ณ ์ฑ ๋ง๋ค๊ธฐ Part 1
์ด ํํ ๋ฆฌ์ผ์ ํตํด, ๊ฐ๋จํ ์ค๋ฌธ์กฐ์ฌ ์ดํ๋ฆฌ์ผ์ด์ ์ ๋ง๋๋ ๊ณผ์ ์ ํด๋ณด๊ฒ ์ต๋๋ค.
cmd ์ฐฝ์ ๋ค์ ๋ช ๋ น์ ์คํํ์ฌ Django๊ฐ ์ค์น๋์ด ์๊ณ ์ด๋ค ๋ฒ์ ์ธ์ง ์ ์ ์์ต๋๋ค.
ํ๋ก์ ํธ ๋ง๋ค๊ธฐ
Django๋ฅผ ์ฒ์ ์ฌ์ฉํ๋ค๋ฉด, ์ด๊ธฐ ์ค์ ์ ์ฃผ์๋ฅผ ๊ธฐ์ธ์ฌ์ผ ํฉ๋๋ค.
Django project๋ฅผ ๊ตฌ์ฑํ๋ ์ฝ๋๋ฅผ ์๋ ์์ฑํด์ผ ํ๋๋ฐ,
์ด ๊ณผ์ ์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค์ , Django ์ํ ์ต์ ๋ค, ์ดํ๋ฆฌ์ผ์ด์ ์ ์ํ ์ค์ ๋ค๊ณผ ๊ฐ์ Django ์ธ์คํด์ค๋ฅผ ๊ตฌ์ฑํ๋ ์๋ง์ ์ค์ ๋ค์ด ์์ฑ๋๊ธฐ ๋๋ฌธ์ ๋๋ค.
cd ๋ช ๋ น์ผ๋ก ์ฝ๋๋ฅผ ์ ์ฅํ ๋๋ ํฐ๋ฆฌ๋ก ์ด๋ํ ํ ๋ค์์ ๋ช ๋ น์ ์คํํฉ๋๋ค.
django-admin startproject mysite
๋ช ๋ น์ ์คํํ๋ฉด ํ์ฌ ๋๋ ํฐ๋ฆฌ์ mysite๋ผ๋ ๋๋ ํฐ๋ฆฌ๊ฐ ์์ฑ๋ ๊ฒ์ ๋๋ค.
mysite ๋๋ ํฐ๋ฆฌ๊ฐ ์์ฑ๋์๋์ง ํ์ธํฉ๋๋ค.
๊ฐ๋ฐ ์๋ฒ
mysite ๋๋ ํฐ๋ฆฌ๋ก ์ด๋ํ
์๋ก๋ง๋ ํ๋ก์ ํธ๊ฐ ์ ๋๋ก ์๋ํ๋์ง ํ์ธํฉ๋๋ค.
cd mysite
python manage.py runserver
Starting development server at http://127.0.0.1:8000/
์๋ฒ๊ฐ ๋์ํ๊ธฐ ์์ํ์ต๋๋ค.
์ฅ๊ณ ์๋ฒ ์ ์
์ด์ ์๋ฒ๊ฐ ๋์ํ๊ธฐ ์์ํ์ผ๋, ์์ ์ ์น ๋ธ๋ผ์ฐ์ ์ http://127.0.0.1:8000/ ์ ํตํด ์ ์ํ ์ ์์ต๋๋ค.
๊ธฐ๋ณธ ๋๋ ํฐ๋ฆฌ ๊ตฌ์กฐ ์๋์ผ๋ก ์์ฑํ๊ธฐ
Django์์๋ ์ฑ์ ๊ธฐ๋ณธ ๋๋ ํฐ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ์๋์ผ๋ก ์์ฑํ ์ ์๋ ๋๊ตฌ๋ฅผ ์ ๊ณตํ๊ธฐ ๋๋ฌธ์ ์ฝ๋์๋ง ๋์ฑ ์ง์ค ํ ์ ์์ต๋๋ค.
๊ธฐ๋ณธ ๋๋ ํฐ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ์์ฑํ๊ธฐ ์ํด ์ฒ์ ์์ฑํ mysite ๋๋ ํฐ๋ฆฌ์์ ๋ค์ ๋ช ๋ น์ ์คํํฉ๋๋ค.
python manage.py startapp polls
๋ช ๋ น์ ์คํํ๋ฉด polls๋ผ๋ ๋๋ ํฐ๋ฆฌ๊ฐ ์๊ธด๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.
์ด ๋๋ ํฐ๋ฆฌ์์ ์๋ ํ์ผ๋ค์ ํฌํ ์ดํ๋ฆฌ์ผ์ด์ ์ ์ง์ด ๋์ด์ค ๊ฒ์ ๋๋ค.
polls๋๋ ๋ผ๋ ๋๋ ํฐ๋ฆฌ๋ฅผ ํผ์ณ๋ณด๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
polls/
__init__.py
admin.py
apps.py
migrations/
__init__.py
models.py
tests.py
views.py
์ฒซ ๋ฒ์งธ ๋ทฐ ์์ฑํ๊ธฐ
์ฒซ ๋ฒ์งธ ๋ทฐ๋ฅผ ์์ฑํด๋ด ์๋ค. polls/view.py๋ฅผ ์ด์ด ๋ค์๊ณผ ๊ฐ์ ํ์ด์ฌ ์ฝ๋๋ฅผ ์ ๋ ฅํฉ๋๋ค.
ํ์ด์ฌ ์ฝ๋๋ฅผ ์์ฑํ ๋ ํ์๋ Visual Studio Code ๋ก ์์ฑํ์์ต๋๋ค.
polls/view.py
------------------------------------------------------------------------------
from django.http import HttpResponse
def index(request):
return HttpResponse("Hello, world. its the polls index!!!")
Django์์ ๊ฐ์ฅ ๊ฐ๋จํ ํํ์ ๋ทฐ์ ๋๋ค. ๋ทฐ๋ฅผ ํธ์ถํ๋ ค๋ฉด ์ด์ ์ฐ๊ฒฐ๋ URL์ด ์์ด์ผ ํ๋๋ฐ,
์ด๋ฅผ ์ํด URLconf๊ฐ ์ฌ์ฉ๋ฉ๋๋ค.
polls ๋๋ ํฐ๋ฆฌ์์ URLconf๋ฅผ ์์ฑํ๋ ค๋ฉด urls.py๋ผ๋ ํ์ผ์ ์์ฑํด์ผํฉ๋๋ค.
polls/
__init__.py
admin.py
apps.py
migrations/
__init__.py
models.py
tests.py
views.py
-> urls.py
urls.py๋ ๋ค์๊ณผ ๊ฐ์ด ์์ฑํฉ๋๋ค.
polls/urls.py
-----------------------------------------------------------------------
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name='index'),
]
mysite/mysite/urls.pyํ์ผ์ด polls.urls ๋ชจ๋์ ๋ฐ๋ผ๋ณด๊ฒ ์ค์ ํฉ๋๋ค.
mysite/mysite/urls.py
----------------------------------------------------------------------------------
from django.contrib import admin
from django.urls import include, path
urlpatterns = [
path('polls/', include('polls.urls')),
path('admin/', admin.site.urls),
]
include() ํจ์๋ ๋ค๋ฅธ URLconf๋ค์ ์ฐธ์กฐํ ์ ์๋๋ก ๋์์ค๋๋ค.
Django๊ฐ ํจ์ include() ๋ฅผ ๋ง๋๊ฒ ๋๋ฉด, URL์ ๊ทธ ์์ ๊น์ง ์ผ์นํ๋ ๋ถ๋ถ์ ์๋ผ๋ด๊ณ , ๋จ์ ๋ฌธ์์ด ๋ถ๋ถ์ ํ์ ์ฒ๋ฆฌ๋ฅผ ์ํด include ๋ URLconf๋ก ์ ๋ฌํฉ๋๋ค.
include() ์ ์จ์ ์์ด๋์ด ๋๋ถ์ URL์ ์ฝ๊ฒ ์ฐ๊ฒฐํ ์ ์์ต๋๋ค.
polls ์ฑ์ ๊ทธ ์์ฒด์ URLconf(polls/urls.py)๊ฐ ์กด์ฌํ๋ ํ, "/polls/", ๋๋ "/fun_polls/", "/content/polls/"์ ๊ฐ์ ๊ฒฝ๋ก, ๋๋ ๊ทธ ์ด๋ค ๋ค๋ฅธ root ๊ฒฝ๋ก์ ์ฐ๊ฒฐํ๋๋ผ๋, ์ฑ์ ์ฌ์ ํ ์ ๋์ํ ๊ฒ์ ๋๋ค.
๋ทฐ ์๋ํด๋ณด๊ธฐ
์ด์ index๋ทฐ๊ฐ URLconf์ ์ฐ๊ฒฐ๋์์ต๋๋ค. ์ ์๋ํ๋์ง ํ์ธํด๋ด ์๋ค.
๋ค์ ๋ช ๋ น์ ์ ๋ ฅํด ์๋ฒ๋ฅผ ๋์์ํต๋๋ค.
python manage.py runserver
๋ช ๋ น์ ์ ๋ ฅ ํ ๋ณธ์ธ์ ์น ๋ธ๋ผ์ฐ์ ์ http://127.0.0.1:8000/polls/ ๋ฅผ ์ ๋ ฅํ๋ฉด index๋ทฐ์ ์ ์ํ "Hello, world. its the polls index!!!" ๊ฐ ๋ณด์ผ ๊ฒ์ ๋๋ค.
'Web > ๐ Django' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Django ํ ํ๋ฆฟ ์ธ์ด (0) | 2020.06.10 |
---|---|
Django ํํ ๋ฆฌ์ผ (4) (0) | 2020.06.10 |
Django ํํ ๋ฆฌ์ผ (3) (0) | 2020.06.09 |
Django ํํ ๋ฆฌ์ผ (1) (0) | 2020.06.09 |