[파이썬][Django] URL 패턴 설정 방법과 예제

Django에서 URL 패턴을 설정하는 방법과 간단한 예제를 제공하겠습니다. URL 패턴을 설정하면 어떤 URL이 어떤 뷰 함수와 연결되는지 정의할 수 있습니다.

  1. URL 패턴 설정 파일 생성:

    Django 프로젝트 내에서 URL 패턴을 설정하기 위해 별도의 URL 설정 파일을 생성해야 합니다. 이 파일은 주로 각 앱 내에 생성됩니다.

    • Django 앱 폴더 내에서 urls.py 파일을 생성합니다.
  2. URL 패턴 정의:

    URL 패턴은 path() 또는 re_path() 함수를 사용하여 정의할 수 있습니다. path() 함수는 간단한 URL 패턴을 정의할 때 사용하고, re_path() 함수는 정규 표현식을 사용하여 복잡한 패턴을 정의할 때 사용합니다.

from django.urls import path, re_path
    from . import views  # views.py 파일 import
    
    urlpatterns = [
        path('example/', views.example_view),          # 간단한 URL 패턴
        re_path(r'^articles/(?P<article_id>\d+)/$', views.article_detail),  # 정규 표현식을 사용한 URL 패턴
    ]
위의 예제에서는 `/example/` 경로를 `example_view` 함수와 연결하고, `/articles/{article_id}/` 경로를 `article_detail` 함수와 연결합니다. `{article_id}` 부분은 정규 표현식 그룹으로 사용되며 `article_id`라는 매개변수로 뷰 함수로 전달됩니다.
  1. 뷰 함수 작성:

    URL 패턴에 연결된 뷰 함수를 작성합니다. 이 함수는 요청을 처리하고 응답을 반환합니다.

from django.http import HttpResponse
    
    def example_view(request):
        return HttpResponse("This is an example view.")
    
    def article_detail(request, article_id):
        return HttpResponse(f"Viewing article with ID {article_id}.")
`example_view` 함수는 간단한 텍스트 응답을 반환하고, `article_detail` 함수는 요청에 포함된 `article_id`를 사용하여 특정 게시물을 보여줍니다.
  1. 프로젝트 루트 URL 설정:

    앱 내의 URL 패턴을 정의한 후, 이러한 URL 패턴을 프로젝트 루트 URL 설정 파일에 포함해야 합니다.

from django.contrib import admin
    from django.urls import path, include  # include 추가
    
    urlpatterns = [
        path('admin/', admin.site.urls),
        path('myapp/', include('myapp.urls')),  # myapp 앱의 URL 패턴을 include
    ]
위의 예제에서 `include('myapp.urls')`를 사용하여 `myapp` 앱의 URL 패턴을 포함시켰습니다. 따라서 `/myapp/example/` 및 `/myapp/articles/{article_id}/`와 같은 URL이 루트 URL에서 처리됩니다.

이제 Django에서 URL 패턴을 설정하고 뷰 함수와 연결하는 방법을 이해하셨을 것입니다. URL 패턴을 효과적으로 활용하여 Django 애플리케이션의 다양한 기능을 정의할 수 있습니다.