๐Ÿš€ Languege/Django-Python

[Django #3] WebApp ์„ค์น˜ & ๊ตฌ์„ฑํ•˜๊ธฐ

mini_world 2021. 1. 18. 17:56
๋ชฉ์ฐจ ์ ‘๊ธฐ

์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” WebApp์„ ๊ตฌ์„ฑํ•ด๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค :)
์—ฌ๊ธฐ ๋‚˜์˜ค๋Š” ๋ชจ๋“  ๋‹จ๊ณ„๋Š” Django ๊ณต์‹ํ™ˆํŽ˜์ด์ง€์— ๋‚˜์™€์žˆ์Šต๋‹ˆ๋‹ค. ์ด ํฌ์ŠคํŒ…์—์„œ๋Š” ๊ฐ ๋‹จ๊ณ„๋ฅผ ์กฐ๊ธˆ ๋” ์ž์„ธํžˆ ์„ค๋ช…ํ•  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.

์ž ์•ž ํฌ์ŠคํŒ…๊นŒ์ง€ ์ง„ํ–‰ ํ•˜์…จ๋‹ค๋ฉด, ํ˜„์žฌ ๋””๋ ‰ํ† ๋ฆฌ ๊ตฌ์กฐ๋Š” ์ด๋ ‡๊ฒŒ ๋ณด์ผ๊ฒ๋‹ˆ๋‹ค.

๊ฐ ๋””๋ ‰ํ† ๋ฆฌ์™€ ํŒŒ์ผ๋“ค์€ ๊ฐ์ž ์—ญํ• ์ด ์ •ํ•ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค. 
๋งˆ์ง€๋ง‰ ๋ถ€๋ถ„์—์„œ ๋‹ค์‹œํ•œ๋ฒˆ ์ž์„ธํžˆ ์„ค๋ช… ํ•  ์˜ˆ์ •์ด๋‹ˆ ์ผ๋‹จ ์‹ค์Šต๋ถ€ํ„ฐ ์ง„ํ–‰ํ•ด๋ด…์‹œ๋‹ค!

์›น์•ฑ์„ ์„ค์น˜ํ•ด๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค!!

 


1. Web App ๋งŒ๋“ค์ž!

์•„๋ž˜ ๋ช…๋ น์–ด๋กœ app์„ ๋งŒ๋“ค์–ด์ค๋‹ˆ๋‹ค.

python manage.py startapp first_app

๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ ํ–ˆ๋‹ค๋ฉด, ์•„๋ž˜ ์บก์ณ ์‚ฌ์ง„์ฒ˜๋Ÿผ, first_app ๋””๋ ‰ํ„ฐ๋ฆฌ๊ฐ€ ์ƒ๊ธฐ๊ณ , ๊ทธ ์•ˆ์— ์—ฌ๋Ÿฌ ํŒŒ์ด์ฌ ํŒŒ์ผ์ด ์กด์žฌํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

 


2. index ํŽ˜์ด์ง€๋ฅผ ๋งŒ๋“ค์ž!

์ง€๊ธˆ๋ถ€ํ„ฐ๋Š” pycharm์œผ๋กœ ์ฝ”๋”ฉ์„ ์ง„ํ–‰ํ•˜๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. pyCharm์„ ์‹คํ–‰ํ•˜๊ณ , my-Django ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

๋จผ์ € first_app/views.py์— ๋ทฐ๋ฅผ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.

from django.shortcuts import render
from django.http import HttpResponse

# Create your views here.
def index(request):
    return HttpResponse("Hello, world :)")


๋‘๋ฒˆ์งธ๋กœ first_app/urls.py ํŒŒ์ผ์„ ๋งŒ๋“ค๊ณ , ์ด ํŒŒ์ผ์— path๋ฅผ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.

from django.urls import path
from . import views

urlpatterns = [
    path('', views.index, name='index'),
]

 

๋‹ค์Œ ๋‹จ๊ณ„๋กœ, ์ตœ์ƒ์œ„ URLconf ์—์„œ first_app/urls.py๋ฅผ ๋ฐ”๋ผ๋ณผ ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.
mysite/urls.py ํŒŒ์ผ์„ ์ˆ˜์ •ํ•ฉ๋‹ˆ๋‹ค.

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

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

์ด์ œ ์ž˜ ์ž‘๋™ํ•˜๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด์„œ ์•„๋ž˜ ๋ช…๋ น์–ด๋ฅผ ์น˜๊ณ  ์›น๋ธŒ๋ผ์šฐ์ €์—์„œ ๋“ค์–ด๊ฐ€๋ด…์‹œ๋‹ค !!

pycharm ์™ผ์ชฝ ์•„๋ž˜ ํ„ฐ๋ฏธ๋„์„ ํด๋ฆญํ•œ ํ›„ ์•„๋ž˜ ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค. 

python manage.py runserver

 

์›น ๋ธŒ๋ผ์šฐ์ €์—์„œ localhost:8000 ๋“ค์–ด๊ฐ€๋ฉด! views.py์—์„œ ์„ค์ •ํ•œ ํ…์ŠคํŠธ๊ฐ€ ์ถœ๋ ฅ๋ฉ๋‹ˆ๋‹ค :)

์—ฌ๊ธฐ๊นŒ์ง€ ์ง„ํ–‰ ํ•˜์…จ๋‹ค๋ฉด ์ด๋ฒˆ ๋‹จ๊ณ„๋Š” ์™„๋ฃŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค :)


์œ„ ๋‘ ๋‹จ๊ณ„์—์„œ ์ง„ํ–‰ ํ–ˆ๋˜ ๋ถ€๋ถ„์„ ํ•œ๋ฒˆ ๋” ์ •๋ฆฌํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๋Š” ์„ธ๊ฐœ์˜ ํŒŒ์ผ์„ ์ˆ˜์ •/์ƒ์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค. 

๋จผ์ €, ์›น๋ธŒ๋ผ์šฐ์ €์—์„œ localhost:8000์„ ์š”์ฒญํ•˜๋ฉด, ๊ฐ€์žฅ ๋จผ์ € URL conf (mysite/urls.py)๋ฅผ ์ฐธ๊ณ ํ•ฉ๋‹ˆ๋‹ค.
mysite/urls.py์— ์•„๋ฌด๋Ÿฐ URL ํŒŒ๋ผ๋ฉ”ํ„ฐ๊ฐ€ ์—†์œผ๋ฉด, first_app.urls๋ฅผ ์ฐธ๊ณ ํ•˜๋ผ๊ณ  ๋ช…์‹œํ•ด๋†จ์ฃ .
๊ทธ๋Ÿผ ์ด์ œ first_app/urls.py๋ฅผ ํ™•์ธํ•ด๋ด…์‹œ๋‹ค. path์— ์ •์˜๋˜์–ด์žˆ๋Š”๊ฑธ ๋ณด๋‹ˆ ์•„๋ฌด ํŒŒ๋ผ๋ฉ”ํ„ฐ๋„ ์—†์„ ์‹œ views์˜ index๋ฅผ ๋ณด๋ผ๊ณ  ๋ช…์‹œ๋˜์–ด์žˆ๋„ค์š”.
first_app/views.py์— ๋ช…์‹œ๋˜์–ด์žˆ๋Š” indexํ•จ์ˆ˜๋Š” "Hello, World :)"๋ฅผ ๋ฆฌํ„ดํ•˜๊ณ ์žˆ์œผ๋ฏ€๋กœ, ๊ฒฐ๊ณผ์ ์œผ๋กœ ์›น๋ธŒ๋ผ์šฐ์ €์—๋Š” "Hello, World :)"๊ฐ€ ์ถœ๋ ฅ๋ฉ๋‹ˆ๋‹ค.!!!

์—ฌ๊ธฐ๊นŒ์ง€ ์ดํ•ด๊ฐ€ ์•ˆ๋˜์…จ๋‹ค๋ฉด ์ฒœ์ฒœํžˆ ํ•œ๋ฒˆ ๋” ์ง„ํ–‰ํ•ด๋ณด์„ธ์š”:)

์ดํ•ด๊ฐ€ ๋œ ๋ถ„์€ ๋‹ค์Œ ๋‹จ๊ณ„๋กœ ๋„˜์–ด๊ฐ‘๋‹ˆ๋‹ค!

728x90