django.urls
функции для использования в URLconfs ¶
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
модулем. Строки обычно используют синтаксис необработанной строки ( r''
), поэтому они могут содержать последовательности, например, \d
без необходимости экранировать обратную косую черту с помощью другой обратной косой черты. При совпадении захваченные группы из регулярного выражения передаются в представление - как именованные аргументы, если группы именуются, и как позиционные аргументы в противном случае. Значения передаются в виде строк без преобразования типов.
В view
, kwargs
и name
аргументы , такие же , как для
path()
.
include()
¶
-
include
( модуль , пространство имен = Нет ) ¶ -
include
( список_образцов ) -
include
( (Pattern_list , app_namespace) , пространство имен = нет ) Функция, которая берет полный путь импорта Python к другому модулю URLconf, который должен быть «включен» в это место. При желании также можно указать пространство имен приложения и пространство имен экземпляра, в которое будут включены записи.
Обычно пространство имен приложения должно быть указано включенным модулем. Если задано пространство имен приложения,
namespace
аргумент можно использовать для установки другого пространства имен экземпляра.include()
также принимает в качестве аргумента либо итерацию, которая возвращает шаблоны URL, либо кортеж из двух элементов, содержащий такую итерацию, а также имена пространств имен приложения.Параметры:
См. Включение других URLconfs и пространств имен URL и включенных URLconfs .
register_converter()
¶
-
register_converter
( конвертер , имя_типа ) ¶
Функция регистрации конвертера для использования в s.path()
route
converter
Аргумент является классом конвертер, и type_name
это имя конвертер для использования в шаблонах пути. См. Пример в разделе «
Регистрация пользовательских преобразователей пути» .
django.conf.urls
функции для использования в URLconfs ¶
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 = Нет , имя = Нет ) ¶
Эта функция является псевдонимом для 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
.