2010-12-04 36 views
4

Je voudrais une URL de la forme:nombre variable de champs dans l'URL Django

... field1/eq/value1/field2/gt/value2/ ... 

Là où je veux filtrer le contenu de la page dans la fonction d'affichage basée sur un nombre arbitraire de champs (la dont les noms ne sont pas connus à l'avance).

J'ai essayé:

(r'^((?P<field>\w+)/(?P<op>[a-z]+)/(?P<value>\w+)/)*$', my_view) 

Mais les arguments de mots clés sont remplis de la dernière série de trois champs/op/valeur de se produire dans l'URL.

Y at-il un moyen de remplir une liste ou un dictionnaire basé sur un nombre variable de champs URl comme celui-ci?

Ou devrais-je faire cela d'une façon complètement différente?

Répondre

6

Ne faites pas cela.

Utilisez la chaîne de requête. ?field,eq,value&field,gt,value fonctionnera beaucoup mieux.

+1

L'a fait de cette façon, merci! – James