Возвращение URL-адресов
Last updated
Was this helpful?
Last updated
Was this helpful?
источник:
reverse.py
Центральной особенностью, отличающей архитектурный стиль REST от других сетевых стилей, является его акцент на едином интерфейсе между компонентами.
— Рой Филдинг,
Как правило, лучше возвращать абсолютные URI из ваших Web API, например http://example.com/foobar
, а не относительные URI, например /foobar
.
Преимуществами этого являются:
Это более четко выражено.
Это оставляет меньше работы для ваших клиентов API.
Нет двусмысленности относительно значения строки, когда она встречается в таких форматах, как JSON, которые не имеют собственного типа URI.
Это упрощает такие вещи, как разметка HTML-представлений с гиперссылками.
Фреймворк REST предоставляет две служебные функции для упрощения возврата абсолютных URI из вашего Web API.
Использовать их не обязательно, но если вы их используете, то самоописывающийся API сможет автоматически делать для вас гиперссылки на свой вывод, что значительно упростит просмотр API.
Сигнатура: reverse(viewname, *args, **kwargs)
.
Вы должны включить запрос в качестве именованного аргумента в функцию, например:
Сигнатура: reverse_lazy(viewname, *args, **kwargs)
.
Как и в случае с функцией reverse
, вы должны включить запрос в качестве именованного аргумента в функцию, например:
Имеет такое же поведение, как , за исключением того, что возвращает полностью определенный URL, используя запрос для определения хоста и порта.
Имеет такое же поведение, как , за исключением того, что возвращает полностью определенный URL, используя запрос для определения хоста и порта.