Django с использованием "." как первичный ключ дает 404 - PullRequest
0 голосов
/ 28 мая 2020

Я использую DRF вместе с drf-nested-router для настройки маршрутизации. Таким образом, у меня есть структура маршрута api.

/posts/1/comments

Теперь вместо использования id я решил использовать имя объекта.

/posts/mypost/comments

Это работает отлично, но проблема возникает, когда . добавляется к ключу.

/posts/my.post/comments

При включении . как части ключ для ресурса, он возвращает ошибку 404 на Django. Я безрезультатно пытался устранить эту проблему.

1 Ответ

0 голосов
/ 28 мая 2020

Вероятно, причина в том, что вы не разрешаете точку . в шаблоне URL-адреса.

Вы можете просто добавить символы, которые хотите принять, как часть вашего URL-адреса внутри квадрата скобки:

url(r'^posts/(?P<post_name>[-\w.]+)/comments/$', views.your_view)

Вышеупомянутые символы включают . и - вместе со всеми символами слова (буквенно-цифровыми c и подчеркиванием).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...