본문 바로가기
파이썬/파이썬 장고

Django) 1편, app 생성하기, Routing

by SeH_ 2023. 1. 14.
반응형

모든 코드는 생활코딩 유튜브를 참고하여 만들었습니다. 

 

1. Terminal 창에 아래와 같은 코드를 입력합니다.

django-admin startapp myapp

2. myapp이라는 폴더가 생성되었음을 확인할 수 있습니다. 

이 파일들을 구현함으로 통해서 application을 만들 수 있습니다! 

 

Routing의 정의는 다음과 같습니다. 

사용자가 접속한 각각의 경로를 누가 처리할 것인가?를 지정하는 과정입니다. 

web framework 작업 시 가장 우선적으로 해야할 매우 중요한 과정입니다.

 

Routing 방법 

ex : 해당 url을 접속했을 때, myapp에 있는 views.py로 위임하는 과정(폴더 다름)

1. myproject의 urls.py에 들어갑니다.

 

2. urls.py 위의 주석 처리 중 Including another URLconf의 지침을 차례대로 따르면 됩니다.

- include module을 가져옵니다.

- path 설정을 추가합니다. 

"""myproject URL Configuration

The `urlpatterns` list routes URLs to views. For more information please see:
    https://docs.djangoproject.com/en/4.1/topics/http/urls/
Examples:
Function views
    1. Add an import:  from my_app import views
    2. Add a URL to urlpatterns:  path('', views.home, name='home')
Class-based views
    1. Add an import:  from other_app.views import Home
    2. Add a URL to urlpatterns:  path('', Home.as_view(), name='home')
Including another URLconf
    1. Import the include() function: from django.urls import include, path
    2. Add a URL to urlpatterns:  path('blog/', include('blog.urls'))
"""
from django.contrib import admin
from django.urls import path, include
#include import 해야함.
urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('myapp.urls'))
]
#include 내에 위임할 폴더.urls를 입력하면 됨!

3. 위 urls.py 파일를 myapp 파일에 복붙합니다.

 

4. 새로 생성된 myapp 파일의 urls.py를 가공합니다. 쓸모 없는 부분은 지워주구요, path를 설정합니다. 

from myapp import views
from django.urls import path
urlpatterns = [
    path('',views.index),#Home으로 들어왔다(아무경로 x)
    path('create/',views.create),
    path('read/<id>/',views.read)
]
#include 내에 위임할 폴더.urls를 입력하면 됨!

- from myapp import views를 하여 views.py 안 내용을 가져올 수 있습니다. 

path 설정 방법

path가 Home으로 들어왔을 시, myapp의 views.py 안에 있는 index 함수를 가지고 옵니다.

path가 create으로 들어왔을 시, myapp의 views.py 안에 있는 create 함수를 가지고 옵니다.

path가 read/으로 들어왔을 시, myapp의 views.py 안에 있는 read 함수를 가지고 옵니다.

조금 다른 부분이 있다면 read path입니다. <id>부분이 다르지요. 

path가 read/1, read/2으로 들어왔을 때, 하나 하나 설정하지 않고 가변형으로 설정할 수 있습니다. 

 

5. views.py를 가공합니다.

 

from django.shortcuts import render,HttpResponse

# Create your views here.
# 클라이언트로 정보를 전달할 함수

def index(request):
    return HttpResponse('Welcome!')

def create(request):
    return HttpResponse('Create!')
def read(request,id):
    return HttpResponse('read!' +id)

 

Tip) 터미널 창에 python manage.py runserver를 실행시키고, 코드를 계속 바꾸면 그 결과가 바뀌는 것을 터미널 창에서 실시간으로 볼 수 있습니다. 

댓글