Функции django.urls
для использования в конфигурациях URL ¶
path()
¶
-
path
( route , view , kwargs = None , name = None ) ¶
Возвращает элемент для включения urlpatterns
. например
from django.urls import include, path
urlpatterns = [
path('index/', views.index, name='main-view'),
path('bio/<username>/', views.bio, name='bio'),
path('articles/<slug:title>/', views.article, name='article-detail'),
path('articles/<slug:title>/<int:section>/', views.section, name='article-section'),
path('weblog/', include('blog.urls')),
...
]
Параметр route
должен быть строкой или результатом gettext_lazy()
(см. Перевод шаблонов URL ), содержащим шаблон URL. Строка может содержать угловые скобки (как <username>
указано выше), чтобы захватить часть URL-адреса и отправить ее как именованный параметр в представление. Угловые скобки могут содержать указание преобразования (например, int
в части <int:section>
) , который ограничивает символы , которые будут соответствовать , а также может изменить тип переменной , переданной в представление. Например, <int:section>
сопоставляет строку чисел и преобразует значение в целое число int
. Подробнее см . Процесс обработки запросов Django .
Параметр view
- это функция представления или результат as_view()
для представлений на основе классов. Также это может быть включение django.urls.include()
.
Параметр kwargs
используется для передачи дополнительных параметров функции или методу представления. См. Пример в разделе « Передача дополнительных параметров в представление» .
См. Раздел « Именование шаблонов URL-адресов» для получения информации о параметре name
.
re_path()
¶
-
re_path
( route , view , kwargs = None , name = None ) ¶
Возвращает элемент для включения urlpatterns
. например
from django.urls import include, re_path
urlpatterns = [
re_path(r'^index/$', views.index, name='index'),
re_path(r'^bio/(?P<username>\w+)/$', views.bio, name='bio'),
re_path(r'^weblog/', include('blog.urls')),
...
]
Параметр route
должен быть строкой или значением gettext_lazy()
(см. Перевод шаблонов URL ), содержащим регулярное выражение, совместимое с модулем re
Python. В строках обычно используется синтаксис необработанной строки ( r''
), поэтому они могут содержать последовательности, например, \d
без необходимости экранировать обратную косую черту с помощью другой косой черты. Когда совпадение найдено, группы, захваченные из регулярного выражения, передаются в представление - как именованные параметры, если группы названы, или как позиционные параметры в противном случае. Значения передаются в виде строк без преобразования типа.
Параметры view
, kwargs
и name
такие же , как для path()
.
include()
¶
-
include
( модуль , пространство имен = Нет ) ¶ -
include
( список_образцов ) -
include
( (Pattern_list , app_namespace) , пространство имен = нет ) Функция, которая принимает полный путь импорта Python к другому модулю конфигурации URL, который будет «включен» сюда. Кроме того , можно указать пространство имен приложения и пространство имен экземпляра , в котором будут включены элементы.
Обычно пространство имен приложения должно определяться включенным модулем. Если определено пространство имен приложения, параметр
namespace
можно использовать для определения другого пространства имен экземпляра.include()
также принимает в качестве параметра либо итерируемый объект, возвращающий шаблоны URL, либо двоичный кортеж, содержащий такой итерируемый объект, сопровождаемый именами пространств имен приложения.Настройки:
См число других URLconfs и URL Пространство имена и URL конфигурации включены .
register_converter()
¶
-
register_converter
( конвертер , имя_типа ) ¶
Функция регистрации преобразователя, который будет использоваться в route
с path()
.
Параметр converter
- это класс преобразователя и type_name
имя преобразователя, используемого в шаблонах путей. См. Пример в разделе « Регистрация настраиваемых преобразователей пути» .
Функции django.conf.urls
для использования в конфигурациях URL ¶
static()
¶
-
static.
static
( префикс , view = django.views.static.serve , ** kwargs ) ¶
Служебная функция, которая возвращает шаблон URL для обслуживания файлов в режиме отладки:
from django.conf import settings
from django.conf.urls.static import static
urlpatterns = [
# ... the rest of your URLconf goes here ...
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
url()
¶
-
url
( регулярное выражение , представление , kwargs = None , name = None ) ¶
Эта функция является псевдонимом django.urls.re_path()
.
Не рекомендуется с версии 3.1: Псевдоним django.urls.re_path()
для обратной совместимости.
handler400
¶
-
handler400
¶
Исполняемый объект или строка, представляющая полный путь импорта Python к представлению, которое будет вызываться, если HTTP-клиент отправил запрос, который вызвал состояние ошибки, и ответ с кодом состояния 400.
По умолчанию это django.views.defaults.bad_request()
. Если вы реализуете пользовательское представление, убедитесь , что он принимает параметры request
и exception
возвращает ответ HttpResponseBadRequest
.
handler403
¶
-
handler403
¶
Исполняемый объект или строка, представляющая полный путь импорта Python к представлению, которое должно быть вызвано, если у пользователя нет необходимых прав для доступа к ресурсу.
По умолчанию это django.views.defaults.permission_denied()
. Если вы реализуете пользовательское представление, убедитесь , что он принимает параметры request
и exception
возвращает ответ HttpResponseForbidden
.
handler404
¶
-
handler404
¶
Исполняемый объект или строка, представляющая полный путь импорта Python к представлению, которое должно быть вызвано, если ни один из шаблонов URL-адресов не совпадает.
По умолчанию это django.views.defaults.page_not_found()
. Если вы реализуете пользовательское представление, убедитесь , что он принимает параметры request
и exception
возвращает ответ HttpResponseNotFound
.
handler500
¶
-
handler500
¶
Исполняемый объект или строка, представляющая полный путь импорта Python к представлению, которое будет вызываться в случае ошибки сервера. Ошибки сервера возникают, когда ошибки времени выполнения появляются в коде представлений.
По умолчанию это django.views.defaults.server_error()
. Если вы реализуете настраиваемое представление, убедитесь, что оно принимает параметр request
и возвращает ответ HttpResponseServerError
.