Django-fr

Forum

  • Accueil
  • » Django-fr
  • » urls.py : récupérer le conte nu d'une expression régulière...

#1 13-03-2012 14:59:31

Bourhis Yves
Membre
Inscription : 03-10-2011
Messages : 46

urls.py : récupérer le conte nu d'une expression régulière...

Bonjour,

dans un fichier "urls.py" j'ai des séries de lignes que je voudrais
résumer en une seule, par exemple :
    (r'^admin/stages/etudutfi/import/$', 'importetudutfi'),
    (r'^admin/stages/etudutapp/import/$', 'importetudutapp'),
    (r'^admin/stages/etulicfi/import/$', 'importetulicfi'),
    [...]

dans l'URL je peux mettre une expression régulière pour remplacer
"dutfi" ou "dutapp" ou "licfi" etc., mais comment je fais pour en
récupérer le contenu dans la "view" correspondante (soit en paramètre
d'une même fonction, soit dans le nom de la fonction elle-même) ?

En gros existe-t-il quelque chose qui ressemblerait à ça :
     (r'^admin/stages/etu[^/]+/import/$', 'importetu', {'nomficetu':
r'[^/]+'}),
ou :
     (r'^admin/stages/etu[^/]+/import/$', r'importetu[^/]+'),

Cordialement.

Hors ligne

#2 13-03-2012 15:10:16

Xavier Ordoquy
Administrateur
Lieu : Puteaux, France
Inscription : 12-10-2011
Messages : 312
Site Web

Re : urls.py : récupérer le conte nu d'une expression régulière...

Bonjour,

Je pense que le mieux est de passer par une fonction de dispatch:

urls.py

(r'^admin/stages/etu(?P<name>\w+)/import/$', 'dispatch'),

views.py:

def etudutfi(request):
  pass

def dispatch(request, name, **kwargs):
  return {
    'dutfi': etudutfi,
    ....
  }[name](request, **kwargs)


Cordialement,
Xavier

Le 13 mars 2012 à 14:59, Bourhis Yves a écrit :

> Bonjour,
>
> dans un fichier "urls.py" j'ai des séries de lignes que je voudrais résumer en une seule, par exemple :
>     (r'^admin/stages/etudutfi/import/$', 'importetudutfi'),
>     (r'^admin/stages/etudutapp/import/$', 'importetudutapp'),
>     (r'^admin/stages/etulicfi/import/$', 'importetulicfi'),
>     [...]
>
> dans l'URL je peux mettre une expression régulière pour remplacer "dutfi" ou "dutapp" ou "licfi" etc., mais comment je fais pour en récupérer le contenu dans la "view" correspondante (soit en paramètre d'une même fonction, soit dans le nom de la fonction elle-même) ?
>
> En gros existe-t-il quelque chose qui ressemblerait à ça :
>    (r'^admin/stages/etu[^/]+/import/$', 'importetu', {'nomficetu': r'[^/]+'}),
> ou :
>    (r'^admin/stages/etu[^/]+/import/$', r'importetu[^/]+'),
>
> Cordialement.
> --
> _______________________________________________________________
> Yves BOURHIS / Service Informatique / I.U.T. de BREST /Tel 8204
> Tel:0298016102/Fax:0298017108/mailto:Yves.Bourhis _AT_ univ-brest.fr
> _______________________________________________
> django mailing list
> django _AT_ lists.afpy.org
> http://lists.afpy.org/mailman/listinfo/django

Hors ligne

#3 13-03-2012 15:19:40

Bourhis Yves
Membre
Inscription : 03-10-2011
Messages : 46

Re : urls.py : récupérer le conte nu d'une expression régulière...

Le 13/03/2012 15:10, Xavier Ordoquy a écrit :
> Je pense que le mieux est de passer par une fonction de dispatch:
>
> (r'^admin/stages/etu(?P<name>\w+)/import/$', 'dispatch'),

C'est exactement ça que je cherchais !

Merci.

Hors ligne

  • Accueil
  • » Django-fr
  • » urls.py : récupérer le conte nu d'une expression régulière...

Pied de page des forums