IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Django Python Discussion :

Condition dans views


Sujet :

Django Python

  1. #1
    Mvu
    Mvu est déconnecté
    Membre régulier
    Inscrit en
    Septembre 2002
    Messages
    248
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 248
    Points : 105
    Points
    105
    Par défaut Condition dans views
    Bonjour,
    Dans un views.py, j'ai plusieurs fonctions.
    Est-il possible, lorsqu'une condition est remplie dans une fonction, de sauter vers une autre?
    Je m'explique:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    def role_subcategory_index(request, Subcategory, Category, template,
                               subcat_detail_name, parent_category_id):
    ...
        if  subcatlistcounts == 2:
     
            return redirect('http://127.0.0.1:8000/carpenter/subcategories/40/')  
     
        if not subcatlistcounts == 2:
     
            return render_to_response(template,
                                  {"objects" : subcats, "subcatlistcounts" : subcatlistcounts-1,
                                   'category' : parent,
                                   'subcat_detail_name' : subcat_detail_name},
                                  context)
    Puis une autre fonction:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    def role_subcategory_detail(request, Role, Subcategory, template, detail_name, subcategory_id):
        context = RequestContext(request)
    ...
        return render_to_response(template,
                                  {"profiles" : profiles,
                                   'subcategory' : subcat,
                                   "detail_name" : detail_name,
                                   "ads" : subcat.ads.all()},
                                  context)
    Ce que je voudrais faire, c'est dans la première fonction, à l'endroit où j'écris
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    return redirect('http://127.0.0.1:8000/carpenter/subcategories/40/')
    , lui dire d'aller directement à la deuxième fonction def role_subcategory_detail ?
    Marc Van Uytvanck
    Bruxelles

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 281
    Points : 36 768
    Points
    36 768
    Par défaut
    Citation Envoyé par Mvu Voir le message
    Est-il possible, lorsqu'une condition est remplie dans une fonction, de sauter vers une autre?
    "sauter" = "goto" : c'est interdit.
    Par contre rien ne vous empêche de retourner ce que retourne une fonction:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    def a():
         return 'a'
    def b():
         return a
    Mais vos trucs ne sont pas des fonctions "simples", ce sont des points d'entrées appelés en fonction d'une requête HTTP déclenchés par un framework.
    La seule chose que vous pouvez envisager serait de préserver les points d'entrées et mettre du code en commun:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    def role_subcategory_index(request, Subcategory, Category, template,
                               subcat_detail_name, parent_category_id):
    ...
        if  subcatlistcounts == 2:
     
            return common_code(...)
     
     ...
    def role_subcategory_detail(request, Role, Subcategory, template, detail_name, subcategory_id):
        context = RequestContext(request)
    ...
        return common_code(...)
     
    def common_code(...)
        ...
        return render_to_response(template,
                                  {"profiles" : profiles,
                                   'subcategory' : subcat,
                                   "detail_name" : detail_name,
                                   "ads" : subcat.ads.all()},
                                  context)
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

Discussions similaires

  1. Réponses: 6
    Dernier message: 17/08/2005, 12h38
  2. Plusieur Condition dans REquette UPDATE
    Par ducseb dans le forum Langage SQL
    Réponses: 12
    Dernier message: 11/08/2005, 11h46
  3. [C#] Repeater - Condition dans la structure
    Par stailer dans le forum ASP.NET
    Réponses: 4
    Dernier message: 25/04/2005, 14h54
  4. Introduire une condition dans une requete
    Par DeezerD dans le forum Langage SQL
    Réponses: 9
    Dernier message: 12/10/2004, 18h13
  5. Condition dans une requête
    Par fdloisel dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 30/08/2004, 16h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo