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 :

passer des info (une liste d'objets) de page en page


Sujet :

Django Python

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2009
    Messages : 40
    Par défaut passer des info (une liste d'objets) de page en page
    Bonjour,

    Sur mon site je liste les fichiers dans certain dossiers que j'ai enregistrés dans un models.
    L'utilisateur a la possibilité de se balader à travers les dossiers comme sur un ftp.
    Je récupère la liste des dossiers avec un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    folderList = MainFolder.objects.all()
    for obj in folderList:
       something(obj.path)
    seulement je ne veux pas que l'utilisateur connaisse le chemin complet mais seulement à partir du dernier dossier.
    Si j'ai un dossier '/home/user1/dossier1' et '/home/user2/dossier2' je veux que l'utilisateur ne voie que 'dossier1' et 'dossier2'.

    Je peux facilement isoler le dernier dossier avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    os.path.basename(obj.path)
    pour avoir une url du style http://monsite.com/files/dossier1 seulement j'ai besoin de passer le chemin complet pour savoir quoi lister quand il va dans http://monsite.com/files/dossier1/sousdossier

    Comment puis-je passer ma 'foldertList' de page en page sans que l'utilisateur ne s'en rende compte ?
    merci

    edit : après réflexion je n'ai pas vraiment besoin de ça dans ce cas-ci mais ça peut toujours être utile. Comment faire pour passer des objets comme en php avec serialize ?

  2. #2
    Membre Expert

    Homme Profil pro
    Diverses et multiples
    Inscrit en
    Mai 2008
    Messages
    662
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Diverses et multiples

    Informations forums :
    Inscription : Mai 2008
    Messages : 662
    Par défaut
    Pour info, l’équivalent de serialize() en PHP me semble être le module pickle (et sa version optimisée cPickle):

    pickle.dumps(object) pour obtenir une string sérialisée de l’objet, et
    pickle.loads(str) pour obtenir l’objet à partir de sa chaîne sérialisée

    Attention, tous les objets ne sont pas forcément sérialisables (on dit “pickleable” en python ).

    A+

    Bastien

  3. #3
    Membre Expert Avatar de pacificator
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 074
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 074
    Par défaut
    bonjour,

    as-tu essayé de passer tes infos par les sessions dans tes vues:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    def vue1(request):
        request.session['path'] = '/path/vers/mon/dossier'
     
    def vue2(request):
         path = request.session.get('path', False)
         if path:
            ....

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2009
    Messages : 40
    Par défaut
    merci de ta réponse (un peu tardive) mais je me suis débrouillé

    dans une base de donnée j'enregistre tous les dossiers que je mets à disposition.
    par exemple
    {'name':'mes images'; 'path':'/home/user/photo'}
    {'name':'mes musiques'; 'path':'/home/user/music'}
    {'name':'mon lecteur cd'; 'path':'/media/cdrom'}

    et l'utilisateur "à la racine" du site, ne voit que 3 dossiers : mes images, mes musiques et mon lecteur cd. Après en sachant sur lequel il est, il est facile d'aller rechercher le path complet

Discussions similaires

  1. [Débuter] Passer une liste d'objets de Qt à QML
    Par boumacmilan dans le forum Qt Quick
    Réponses: 3
    Dernier message: 13/12/2011, 08h23
  2. problème de récupération d'une liste d'objet au niveau des DAO
    Par yness dans le forum Persistance des données
    Réponses: 1
    Dernier message: 25/04/2011, 19h57
  3. Passer des infos de ma Servlet a une JSP
    Par Slyders dans le forum Servlets/JSP
    Réponses: 7
    Dernier message: 05/08/2008, 16h54
  4. Trier une liste d'objets d'après un champ des objets
    Par gids01 dans le forum Collection et Stream
    Réponses: 8
    Dernier message: 02/07/2007, 09h52
  5. Passer des infos d'une zone de liste à une autre
    Par Rinecka dans le forum Access
    Réponses: 1
    Dernier message: 09/01/2006, 11h59

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