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, либо кортеж из двух элементов, содержащий такую ​​итерацию, а также имена пространств имен приложения.

Параметры:
  • module - модуль URLconf (или имя модуля)
  • namespace ( str ) - Пространство имен экземпляра для включаемых записей URL
  • pattern_list - Итерация path()и / или re_path()экземпляров.
  • app_namespace ( str ) - пространство имен приложения для включаемых записей 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.

Copyright ©2021 All rights reserved