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 :

Récupérer le nom d'un document uploader


Sujet :

Django Python

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2013
    Messages : 6
    Points : 4
    Points
    4
    Par défaut Récupérer le nom d'un document uploader
    Bonjour,

    Je souhaiterai récupérer le nom du document ulpoader? Comment puis-je faire? voila le code que j'utilise :
    Dans models.py
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    class Document(models.Model):
        docfile = models.FileField(upload_to='documents')
    dans views.py
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    def donnees(request):
        if request.method == 'POST':
            form = DocumentForm(request.POST, request.FILES)
            if form.is_valid():
                newdoc = Document(docfile = request.FILES['docfile'])
                newdoc.save()
                return HttpResponseRedirect(reverse('myproject.myapp.views.donnees'))
        else:
            form = DocumentForm() 
        return render_to_response( 'myapp/donnees.html', {'form': form}, context_instance=RequestContext(request))
    J'ai seulement besoin de récupérer le nom dans views pour pouvoir le réutiliser. dans une autre fonction.
    De plus j'aimerai savoir si je peux faire un return du nom du fichier pour pouvoir m'en servir dans une autre fonction. Si oui comment??

    Merci pour votre aide!

  2. #2
    Expert éminent
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    3 823
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 823
    Points : 7 119
    Points
    7 119
    Par défaut
    C'est dans la doc, si ton instance docfile est bien créée, tu devrais pouvoir récupérer le nom de ton fichier par docfile.name

    Bonne continuation...
    Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
    La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2013
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    j'ai instancié docfile de cette manière :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     class Document(models.Model):
        docfile = models.FileField(upload_to='documents')
        def __unicode__(self):
            return self.docfile
    Le résultat est que docfile n'est pas définit. est ce que j'ai correctement instancié? Si non comment puis je faire??
    Docfile.name ne fonctionne pas.

  4. #4
    Expert éminent
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    3 823
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 823
    Points : 7 119
    Points
    7 119
    Par défaut
    Je ne joue pas avec django, donc difficile de t'aider plus, mais en regardant un peu la documentation je ne vois pas apparemment pas d'erreur.

    J'ai aussi vu que quelques conditions doivent être respectées pour l'utilisation de la classe FileField.

    Citation Envoyé par Documentation
    Utiliser un FileField ou un ImageField (voir ci-dessous) dans un modèle demande quelques préparations :
    Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
    La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

  5. #5
    Membre averti Avatar de Stopher
    Homme Profil pro
    Responsable technique
    Inscrit en
    Juin 2004
    Messages
    198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Responsable technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 198
    Points : 446
    Points
    446
    Par défaut
    Salut,
    le nom devrait être dans :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    request.FILES['docfile'].name
    Ch.

  6. #6
    Expert éminent
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    3 823
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 823
    Points : 7 119
    Points
    7 119
    Par défaut
    Je crois avoir trouvé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    return os.path.basename(self.docfile.name)
    ne pas oublier d'importer os.path pour que ça fonctionne...
    Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
    La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

Discussions similaires

  1. Champ upload : récupérer le nom du fichier envoyé
    Par EriCstoFF dans le forum WebDev
    Réponses: 1
    Dernier message: 27/09/2011, 12h15
  2. Réponses: 7
    Dernier message: 03/05/2010, 09h24
  3. [Upload] Récupérer le nom d'un fichier uploadé
    Par will97 dans le forum Langage
    Réponses: 4
    Dernier message: 15/10/2007, 01h59
  4. Réponses: 7
    Dernier message: 26/05/2007, 12h43
  5. [Upload] débutant, récupérer nom d'un fichier uploadé
    Par psgman113 dans le forum Langage
    Réponses: 1
    Dernier message: 08/05/2007, 17h24

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