Я ищу лучший способ передать любой из двух аргументов представлениям из URL, не допуская дополнительных аргументов.
Например, со следующими URL-адресами:
(r'^friends/requests', 'app.views.pendingFriends'),
(r'^friends/offers', 'app.views.pendingFriends'),
Если возможно передать URL в представления, чтобы pendingFriends
знал, с какого URL он был вызван, это сработает. Однако я не вижу способа сделать это.
Вместо этого я мог бы предоставить аргументы (requests
или offers
) в URL для одного представления Django,
(r'^friends/(?P<type>\w+', 'app.views.pendingFriends'),
Аргумент скажет pendingFriends
, что делать. Однако это оставляет открытой возможность передачи других аргументов в URL (кроме requests
и offers
.)
В идеале я бы хотел, чтобы диспетчер URL-адресов прекратил это (через 404) до того, как недопустимые аргументы будут переданы в представления. Итак, мои вопросы: (а) это лучший подход, (б) есть ли способ ограничить аргументы, которые передаются представлениям в URL, до requests
или offers
?
Спасибо