РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
281 of 818 menu

Конвертер path

Конвертер path применяется в маршрутах для извлечения частей URL и преобразования их в переменные с типами данных. В Django по умолчанию доступны несколько встроенных конвертеров: str, int, slug, uuid и path. Конвертер path позволяет захватывать любой путь, включая слеши, что делает его полезным для обработки глубоких URL.

Синтаксис

path('route/<path:variable>/', view_function, name='url_name')

Пример

Давайте создадим маршрут для обработки глубоких путей с использованием конвертера path:

from django.urls import path from . import views urlpatterns = [ path('docs/<path:doc_path>/', views.document_view, name='document'), ]

Теперь напишем view-функцию, которая будет принимать переменную doc_path:

from django.http import HttpResponse def document_view(request, doc_path): return HttpResponse(f"Path: {doc_path}")

Результат выполнения при обращении к URL '/docs/guides/install/setup/':

"Path: guides/install/setup/"

Пример

Рассмотрим использование конвертера path для обработки путей к файлам:

from django.urls import path from . import views urlpatterns = [ path('files/<path:file_path>/', views.file_view, name='file'), ]

View-функция для обработки пути к файлу:

from django.http import HttpResponse def file_view(request, file_path): return HttpResponse(f"File path: {file_path}")

Результат выполнения при обращении к URL '/files/static/images/logo.png':

"File path: static/images/logo.png"

Пример

Конвертер path можно комбинировать с другими конвертерами для создания сложных маршрутов:

from django.urls import path from . import views urlpatterns = [ path('user/<int:user_id>/docs/<path:doc_path>/', views.user_document_view, name='user_doc'), ]

View-функция для обработки такого маршрута:

from django.http import HttpResponse def user_document_view(request, user_id, doc_path): return HttpResponse(f"User ID: {user_id}, Document path: {doc_path}")

Результат выполнения при обращении к URL '/user/42/docs/guides/install/setup/':

"User ID: 42, Document path: guides/install/setup/"

Смотрите также

  • конвертер int,
    который преобразует параметр в целое число
  • конвертер str,
    который преобразует параметр в строку без слешей
  • функция path,
    которая определяет маршрут с конвертерами
  • функция re_path,
    которая определяет маршрут с помощью регулярных выражений
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить