Django
Django URLs
URLconf, namespaces, and named routes
Django URLs
URLconfs map paths to views. Use namespaces for app routes.
App URLs
# tasks/urls.py
from django.urls import path
from . import views
app_name = "tasks"
urlpatterns = [
path("", views.task_list, name="task-list"),
path("<int:pk>/", views.task_detail, name="task-detail"),
path("<int:pk>/toggle/", views.task_toggle_done, name="task-toggle"),
]
Include in project
# config/urls.py
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path("admin/", admin.site.urls),
path("tasks/", include("tasks.urls")),
]
Reverse URLs
from django.urls import reverse
from django.shortcuts import redirect
return redirect(reverse("tasks:task-list"))
{% url 'tasks:task-detail' task.pk %}