Ответ 1
При регистрации представлений с маршрутизатором вы можете передать base_name
в качестве третьего аргумента. Это базовое имя используется для генерации отдельных имен URL-адресов, которые генерируются как [base_name]-list
и [base_name]-detail
.
В вашем случае вы регистрируете свой viewet как
router.register(r'meetings', MeetingViewSet, 'meetings-list')
Итак, base_name
- meetings-list
, а имена видов - meetings-list-list
и meetings-list-detail
. Похоже, вы ищете meetings-list
и meetings-detail
, для чего требуется base_name
meetings
.
router.register(r'meetings', MeetingViewSet, 'meetings')
Вы также используете синтаксис patterns
, устаревший для определения URL-адресов, но на самом деле вы не используете правильные вызовы url
, которые работают с ним. Я бы порекомендовал просто заменить patterns
и обернуть ваш список URL-адресов стандартным списком/кортежем Python ([]
или ()
).
Это должно исправить вашу проблему, и вызов reverse
должен быть разрешен для вас.