파이썬 장고 웹 앱 만들기: 주소(URL)와 화면(뷰) 연결하는 방법

파이썬 장고 웹 앱 만들기: 주소(URL)와 화면(뷰) 연결하는 방법

이 글에서는 장고를 사용하여 새로운 웹 애플리케이션의 URL과 뷰를 어떻게 연결하는지 알아보겠습니다.

1. 앱 생성하기

먼저 ‘myapp’이라는 이름으로 새로운 앱을 만듭니다. 아래 명령어를 사용하여 앱을 생성합니다.

(myenv) C:\blueshare\django\myenv>django-admin startapp myapp
앱 생성하기 예시

2. URL 설정하기

‘config/urls.py’ 파일을 열고 ‘myapp’ 앱의 URL을 설정합니다. 다음과 같이 코드를 추가하거나 수정합니다.

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

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

위 코드에서 include 함수는 다른 URLconf 파일을 참조할 수 있게 해줍니다. 이를 통해, 애플리케이션의 URL을 분리하여 관리할 수 있습니다. 특히, 큰 프로젝트에서는 각 앱마다 별도의 URLconf를 가질 수 있어 구조가 더욱 깔끔해집니다.

path('myapp/', include('myapp.urls')) 부분은 ‘myapp/’ URL이 호출되었을 때, ‘myapp’ 애플리케이션의 ‘urls.py’ 파일로 라우팅하도록 지정합니다. 즉, 사용자가 웹 브라우저에서 ‘http://localhost:8000/myapp/’로 접속하면, 장고는 ‘myapp’ 앱의 URL 설정을 참조하여 해당 요청을 처리합니다.

URL 설정하기 예시

3. myapp 앱의 URL 설정

‘myapp’ 디렉토리에 ‘urls.py’ 파일을 만들고, 아래 내용을 추가합니다.

from django.urls import path
from . import views

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

이 코드는 ‘myapp’ 애플리케이션의 URL 패턴을 정의합니다. from . import views는 현재 디렉토리의 ‘views.py’ 파일에서 뷰를 가져옵니다. 이 파일에 정의된 뷰 함수들을 URL과 연결할 수 있습니다.

urlpatterns 리스트에 path('', views.index)를 추가함으로써, ‘myapp’ 애플리케이션의 루트 URL (예: ‘http://localhost:8000/myapp/’)에 접근했을 때 views.index 함수가 호출되도록 설정합니다. 여기서 ''는 루트 URL을 의미하며, views.index는 ‘views.py’ 파일에 정의된 ‘index’ 뷰 함수를 가리킵니다.

myapp 앱의 URL 설정 예시

4. 뷰 생성하기

‘myapp/views.py’ 파일을 열고, 다음과 같이 ‘index’ 뷰를 추가합니다.

from django.http import HttpResponse

def index(request):
    return HttpResponse("환영합니다! myapp 페이지입니다.")

이 코드는 ‘myapp’ 애플리케이션의 뷰 함수를 정의합니다. 장고에서 뷰는 사용자의 요청(request)을 처리하고, 응답(response)을 반환하는 함수입니다.

def index(request):는 ‘index’라는 뷰 함수를 정의합니다. 이 함수는 장고에서 제공하는 HttpRequest 객체를 매개변수로 받습니다. 이 예제에서는 특별한 요청 처리 없이 단순히 HttpResponse를 통해 “환영합니다! myapp 페이지입니다.”라는 텍스트를 반환합니다.

이렇게 정의된 ‘index’ 뷰는 앞서 설정한 URL 패턴에 의해 호출될 때 해당 문자열을 웹 브라우저에 표시합니다. 이는 장고 애플리케이션에서 간단한 웹 페이지를 만드는 기본적인 예시입니다.

뷰 생성하기 예시

5. 결과 확인하기

모든 설정이 완료되었으면, 장고 개발 서버를 재시작하고, 브라우저에서 ‘http://localhost:8000/myapp/’ 주소로 이동하여 결과를 확인합니다. 화면에는 “환영합니다! myapp 페이지입니다.”라는 문구가 표시됩니다.

결과 확인하기 예시

이 글을 통해 장고에서 새로운 앱을 만들고, URL과 뷰를 연결하는 기본적인 방법에 대해 알아보았습니다. 이 과정은 장고 웹 애플리케이션 개발의 핵심 부분이며, 다양한 프로젝트에 적용할 수 있습니다.

함께 보면 좋은 게시글


이 글이 도움이 되셨다면 공유 부탁드립니다!

위로 스크롤