Spec-Zone.ru › Django 2.2

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), содержащей регулярное выражение, совместимое с модулем Python re. Строки обычно используют синтаксис необработанных строк (r''), чтобы они могли содержать последовательности, такие как \d без необходимости экранирования обратной косой черты другой обратной косой чертой. При совпадении захваченные группы из регулярного выражения передаются представлению — в качестве именованных аргументов, если группы именованные, и в качестве позиционных аргументов в противном случае. Значения передаются как строки без какого-либо преобразования типа.

Аргументы view, kwargs и name такие же, как для path().

include()

include(module, namespace=None) [source]
include(pattern_list)
include((pattern_list, app_namespace), namespace=None)

Функция, которая принимает полный путь импорта Python к другому модулю URLconf, который должен быть «включен» в этом месте. Дополнительно можно указать пространство имен приложения и пространство имен экземпляра, куда будут включены записи.

Обычно пространство имен приложения должно быть указано включенным модулем. Если установлено пространство имен приложения, аргумент namespace можно использовать для установки другого пространства имен экземпляра.

include() также принимает в качестве аргумента либо итерируемый объект, который возвращает шаблоны URL, либо 2-кортеж, содержащий такой итерируемый объект и имена пространств имен приложения.

Parameters:
  • module – Модуль URLconf (или имя модуля)
  • namespace (str) – Пространство имен экземпляра для включаемых записей URL
  • pattern_list – Итерируемый объект экземпляров path() и/или re_path().
  • app_namespace (str) – Пространство имен приложения для включаемых записей URL

См. Включение других URLconf и Пространства имен URL и включенные URLconf.

register_converter()

register_converter(converter, type_name) [source]

Функция для регистрации преобразователя для использования в path() route.

Аргумент converter — это класс преобразователя, а type_name — это имя преобразователя для использования в шаблонах путей. См. Регистрация пользовательских преобразователей путей для примера.

django.conf.urls функции для использования в URLconfs

static()

static.static(prefix, 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(regex, view, kwargs=None, name=None) [source]

Эта функция является псевдонимом для 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.

© Django Software Foundation and individual contributors
Licensed under the BSD License.
https://docs.djangoproject.com/en/2.2/ref/urls/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API