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 :

Changer le nom d'un filefield a partir de l'interface d'admin


Sujet :

Django Python

  1. #1
    Membre actif
    Homme Profil pro
    Architecte réseau
    Inscrit en
    Juin 2011
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Architecte réseau
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2011
    Messages : 29
    Par défaut Changer le nom d'un filefield a partir de l'interface d'admin
    Bonjour à tous,

    Dans le cadre d'un projet de mon entreprise je suis amené à developper une interface django permettant parmi beaucoup d'autres choses, d'uploader un fichier.

    Voici une partie de mon modèle qui nous intéresse ici

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    class Test(models.Model):
        var = models.IntegerField()
        var1 = models.ManyToManyField('OtherClass')
     
        file = models.FileField(upload_to='dir/%d',storage=MyFileSystemStorage())
    J'explique donc mon problème, en fait l'upload du fichier se passe bien je suis capable d'uploader mon fichier sur mon interface admin. De 2 choses l'une, je souhaite uploader mon fichier vers un dossier dir/jourd'aujourd'hui dans mon media root ca ca se passe très bien, et je souhaite modifier le nom du fichier de base que je souhaite uploader.
    Pour ca j'ai crée une méthode MyFileSystemStorage qui permet de modifier le nom de mon fichier tout en conservant son extension, jusqu'ici tout va bien.

    La ou ca se corse, c'est que je souhaite modifier le nom du fichier en lui ajoutant à la fin, juste avant l'extension, l'information sélectionnée dans le ManyToManyField "var1" dans l'interface admin. Première question, est il possible et si oui, comment faire pour "récupérer" cette information? Deuxième question, comment faire pour l'utiliser et ainsi formater mon nom de fichier pour lui ajouter cette string?

    J'espère avoir été assez clair, n'hésitez pas à me le faire savoir dans le cas contraire.

    J'espère également trouver une ame charitable qui pourra m'aider car je suis vraiment bloquer dans cette situation et je dois m'en sortir au plus vite.

    Merci à tous de votre attention, bonne journée

  2. #2
    Membre confirmé
    Profil pro
    Développeur Back-End
    Inscrit en
    Septembre 2007
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Back-End

    Informations forums :
    Inscription : Septembre 2007
    Messages : 81
    Par défaut
    Essaye d'adapter ce code à ta situation. ça devrait marcher!!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    def upload_b_image(instance, filename):
        return os.path.join(str(instance.slug), 'b', "%s_%s"%(filename,"modif"))
     
    class Photo(models.Model):
        title = models.CharField(max_length=200)
        slug = models.SlugField()
        b_image = models.ImageField(upload_to=upload_b_image)
    Merci

Discussions similaires

  1. [VBA] Changer le nom d'un formulaire
    Par lbourlet dans le forum Access
    Réponses: 2
    Dernier message: 05/11/2004, 11h54
  2. Changer le nom du proprietaire de la table
    Par ykane dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 27/07/2004, 16h18
  3. TREEVIEW : Editer (changer le nom) d'un Noeud
    Par cyberlewis dans le forum Composants VCL
    Réponses: 2
    Dernier message: 07/07/2004, 15h00
  4. [Repertoire] Changer le nom d'un repertoire ...
    Par Frederic dans le forum Langage
    Réponses: 2
    Dernier message: 01/11/2002, 12h39
  5. Réponses: 2
    Dernier message: 26/06/2002, 13h16

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