Почему ПК=нет в ФПИ документация `подробно маршрут? Есть ли у нее по умолчанию нет?
Сюда: http://www.django-rest-framework.org/api-guide/routers/#extra-link-and-actions приведен пример detail_route
:
@detail_route(methods=['post'], permission_classes=[IsAdminOrIsSelf])
def set_password(self, request, pk=None):
pk=None
это третий параметр. Этот маршрут может быть доступен при переходе по URL users/{pk}/change-password/$
. Мой вопрос в том, не всегда ли pk
предоставляется? Почему значение по умолчанию None
? Разве это не должно быть просто:
@detail_route(methods=['post'], permission_classes=[IsAdminOrIsSelf])
def set_password(self, request, pk):
? Насколько я понимаю, единственный способ, которым пользователь может получить доступ к этому маршруту, - это ввести значение pk
в url users/{pk}/change-password/$
(не должно быть по умолчанию значения будут использоваться, когда значение может не быть задано - и если это не так, по умолчанию None
)?
1 ответ:
Это в основном вопрос стиля. Поскольку метод разрешения url-адресов Django заключается в передаче аргументов ключевых слов в представления всякий раз, когда именованные группы используются в регулярном выражении, и учитывая, что DRF использует именованные группы, мы склонны использовать ключевое слово "стиль" нотации.