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 :

Charger une image via l'interface admin et l'utiliser


Sujet :

Django Python

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2022
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Jura (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2022
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Charger une image via l'interface admin et l'utiliser
    Bonjour à tous,

    Je cherche à faire un blog grâce à Django et je rencontre des difficultés pour charger une image via l'interface admin.

    Voici mon modèle:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    class Post(models.Model):
    title = models.CharField(max_length=200, unique=True)
    author = models.ForeignKey(User, on_delete=models.CASCADE, related_name='blog_posts')
    content = models.TextField()
    image = models.ImageField(default='')
    Donc sur la page admin quand je crée un post, j'ajoute du texte et j'upload une image.

    Je veux ensuite afficher le texte et l'image, mon html est donc:

    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <p class="card-text ">{{ object.content | safe }}</p>
    <img src = "{{ object.image }}">

    Pas de soucis avec le texte mais en revanche l'image ne s'affiche pas. Je comprends qu'il y a un problème de stockage ou du moins quelquechose à faire en plus pour récupérer l'image téléchargée...

    Pourriez-vous m'aider svp ?

    Merci et bonne journée
    Manuy

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 235
    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 235
    Points : 36 684
    Points
    36 684
    Par défaut
    Salut,

    Citation Envoyé par Manuy Voir le message
    Pourriez-vous m'aider svp ?
    <img src...> est une fonctionnalité HTML.
    Par défaut, ça attend une URL mentionnant le fichier image à charger.

    Que contient object.image?

    Mystère... mais on peut douter que ce soit une URL.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 072
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 072
    Points : 4 378
    Points
    4 378
    Par défaut
    Citation Envoyé par Manuy Voir le message
    Je comprends qu'il y a un problème de stockage ou du moins quelquechose à faire en plus pour récupérer l'image téléchargée...
    si on propose une image en upload (input type="file"), alors on reçoit le contenu de l'image. C'est a nous de sauvegarder ce contenu dans un fichier sur notre serveur. Ensuite, pour l'afficher on indique le nom de ce fichier avec le bon chemin dans l'attribut src de la balise imgc'est quelque chose de très classique, et il est facile de trouver des exemples

    genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    fichier = FileSystemStorage.save("image.jpg", request.FILES['image'])
    url_du_fichier = FileSystemStorage.url(fichier)
    $moi= ( !== ) ? : ;

  4. #4
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2022
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Jura (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2022
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Merci papajoker pour ta réponse.

    Je suis allé lire la page suivante qui décrit un peu ce que tu dis: https://docs.djangoproject.com/fr/4..../file-uploads/

    Donc je reprends la fonction upload_file que j'adapte à mon modèle, je comprends qu'elle va renvoyer l'url du fichier chargé. En revanche je bloque sur où (dans quel fichier) appeler la fonction upload_file (ce n'est pas dans le template visiblement...)

    Bonne journée

Discussions similaires

  1. charger une image via HTTP sous builder c++
    Par sfn84 dans le forum Débuter
    Réponses: 1
    Dernier message: 31/01/2011, 20h12
  2. Réponses: 2
    Dernier message: 25/03/2009, 16h32
  3. [Débutant] Extraire des parties d'une image via l'interface
    Par Alucard9800XT dans le forum Interfaces Graphiques
    Réponses: 1
    Dernier message: 27/04/2007, 23h55
  4. [Image]comment pre-charger une image
    Par al85 dans le forum 2D
    Réponses: 5
    Dernier message: 28/02/2005, 21h22
  5. Réponses: 13
    Dernier message: 19/11/2004, 19h11

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