Passando argumentos para visualizações no Django a partir de escolhas restritas

Eu estou procurando a melhor maneira de passar um dos dois argumentos para as exibições da URL, sem permitir argumentos adicionais.

Por exemplo, com os seguintes URLs:

(r'^friends/requests', 'app.views.pendingFriends'), (r'^friends/offers', 'app.views.pendingFriends'), 

Se for possível passar o URL para as visualizações, para que pendingFriends saiba de qual URL ele foi chamado, isso funcionaria. No entanto, não consigo ver uma maneira de fazer isso.

Em vez disso, eu poderia fornecer os argumentos ( requests ou offers ) na URL, para uma única visualização do Django,

 (r'^friends/(?P\w+', 'app.views.pendingFriends'), 

O argumento dirá a pendingFriends o que fazer. No entanto, isso deixa em aberto a possibilidade de outros argumentos serem passados ​​para a URL (além de requests e offers ).

Idealmente, eu gostaria que o despachante de URL impedisse que isso acontecesse (por meio de um 404) antes que os argumentos inválidos fossem passados ​​para as exibições. Então, minhas perguntas são (a) esta é a melhor abordagem, (b) existe uma maneira de restringir os argumentos que são passados ​​para as visualizações na URL para requests ou offers ?

obrigado

Lembre-se de que você tem o poder total de regexes para corresponder aos URLs. Você simplesmente precisa escrever um regex que aceite apenas o que você deseja:

 (r'^friends/(?Prequests|offers)', 'app.views.pendingFriends'), 

Se você quiser listar duas vezes, faça assim:

 (r'^friends/(?Prequests)', 'app.views.pendingFriends'), (r'^friends/(?Poffers)', 'app.views.pendingFriends'),