# Django URL dispatcher

## Django URL dispatcher

Django URL dispatcher — is pure Python code and is a mapping between URL path expressions to Python functions (your views).

from django.urls import path

from . import views

urlpatterns = [
path('articles/2003/', views.special_case_2003),
path('articles/<int:year>/', views.year_archive),
path('articles/<int:year>/<int:month>/', views.month_archive),
path('articles/<int:year>/<int:month>/<slug:slug>/', views.article_detail),
]

To design URLs for an app, you create a Python module informally called a URLconf (URL configuration).

### Path converters

• str - Matches any non-empty string, excluding the path separator, '/'. This is the default if a converter isn’t included in the expression.
• int - Matches zero or any positive integer. Returns an int.
• slug - Matches any slug string consisting of ASCII letters or numbers, plus the hyphen and underscore characters. For example, building-your-1st-django-site.
• uuid - Matches a formatted UUID. To prevent multiple URLs from mapping to the same page, dashes must be included and letters must be lowercase. For example, 075194d3-6885-417e-a8a8-6c931e272f00. Returns a UUID instance.
• path - Matches any non-empty string, including the path separator, '/'. This allows you to match against a complete URL path rather than a segment of a URL path as with str.

## Related concepts

Django URL dispatcher

## Django URL dispatcher — Structure map

Clickable & Draggable!