파이썬 장고 웹 앱 만들기: 주소(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 설정을 참조하여 해당 요청을 처리합니다.
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’ 뷰 함수를 가리킵니다.
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과 뷰를 연결하는 기본적인 방법에 대해 알아보았습니다. 이 과정은 장고 웹 애플리케이션 개발의 핵심 부분이며, 다양한 프로젝트에 적용할 수 있습니다.
함께 보면 좋은 게시글
- 파이썬 장고 MVT 패턴 이해하기
- 파이썬 장고 URL 디스패치: URLconf와 뷰 연결하는 방법
- 파이썬 장고 템플릿 태그: for, if, csrf_token, url, with, load 활용하기
- 파이썬 장고 템플릿 상속 활용하기: 웹사이트 일관성 유지 방법
- 파이썬 장고 폼(Form) 기초: 사용자 입력 처리하기
이 글이 도움이 되셨다면 공유 부탁드립니다!