[python] Django의 URL 경로 설정 방법은 어떻게 되는가?

Django는 웹 애플리케이션 개발에 자주 사용되는 파이썬 웹 프레임워크입니다. Django에서 URL 경로를 정의하는 방법에 대해 알아보겠습니다.

  1. URLconf 파일 생성 먼저 Django 프로젝트 내에 URLconf 파일을 생성해야 합니다. 보통 urls.py라는 이름으로 생성합니다. 이 파일은 웹 애플리케이션의 모든 URL 경로를 관리하는 역할을 합니다.

  2. URL 매칭 및 뷰 함수 지정 URLconf 파일에는 URL 경로에 대한 매칭 패턴과 해당 경로에 연결된 뷰 함수를 지정해야 합니다.

    예를 들어, /articles/ 경로에 대한 요청을 처리하기 위해 views.py 파일에 정의된 article_list 뷰 함수를 사용하고 싶다면, URLconf 파일에 다음과 같이 작성합니다.

    from django.urls import path
    from . import views
    
    urlpatterns = [
        path('articles/', views.article_list),
    ]
    

    이렇게 작성된 URLconf는 urls.py 파일 내에서 urlpatterns 리스트에 매칭 패턴과 뷰 함수를 추가하는 형태로 구성됩니다.

  3. URL 매개변수와 정규 표현식 활용 Django의 URLconf에서는 URL 패턴에 매개변수를 정의할 수 있습니다. 매개변수는 URL 경로에서 동적인 값을 전달하기 위해 사용됩니다.

    예를 들어, /articles/<int:pk>/ 경로에 대한 요청을 처리하기 위해 views.py 파일에 정의된 article_detail 뷰 함수를 사용하고 싶다면, URLconf 파일에 다음과 같이 작성합니다.

    from django.urls import path
    from . import views
    
    urlpatterns = [
        path('articles/<int:pk>/', views.article_detail),
    ]
    

    이렇게 작성된 URLconf는 pk라는 정수형 매개변수를 article_detail 뷰 함수로 전달합니다.

  4. include를 활용한 URL 분리 Django에서는 복잡한 웹 애플리케이션을 개발할 때 URLconf를 여러 파일로 분리하여 관리할 수 있습니다. 이때 include() 함수를 사용합니다.

    예를 들어, Django 프로젝트 내에 blog 앱이 있고, 해당 앱 내에 urls.py 파일을 생성하여 URLconf 파일을 관리하고 싶다면, 프로젝트의 URLconf 파일에 다음과 같이 작성합니다.

    from django.urls import include, path
    
    urlpatterns = [
        path('blog/', include('blog.urls')),
    ]
    

    이렇게 작성된 URLconf는 blog/ 경로로 들어오는 요청을 blog 앱의 URLconf 파일로 전달합니다.

URLconf는 Django에서 중요한 역할을 담당하는 파일로, 웹 애플리케이션의 URL 경로를 관리하는 데 필수적입니다. 이를 통해 각 경로에 대한 적절한 뷰 함수를 매칭시킬 수 있습니다.

더 자세한 내용은 Django 공식 문서를 참고하시기 바랍니다.