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 URLfield par ImageFied [Python 3.X]


Sujet :

Django Python

  1. #1
    Membre éclairé
    Homme Profil pro
    growth hacker
    Inscrit en
    Novembre 2018
    Messages
    187
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : growth hacker
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2018
    Messages : 187
    Par défaut changer URLfield par ImageFied
    Bonjour, vous allez bien ? Je cherche à mettre imagefield à la place d'URLField ,mais cela plante à chaque fois, Django version 2.1, j'ai ce problème ValueError: The 'image' attribute has no file associated with it. Merci pour votre aide. Le Code lié à l'image
    sittings.py
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    MEDIA_ROOT=os.path.join(BASE_DIR, "media")
    MEDIA_URL="/media/"
    urls
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    from django.conf import settings
    from django.views.static import serve
    from django.conf.urls.static import static
    from django.conf.urls import url
     
    if settings.DEBUG:
        urlpatterns+=[
            url(r'^media/(?P<path>.*)$', serve, {
                'document_root':settings.MEDIA_ROOT,
                }),
            ]+ static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
    list.html
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <img class="img-responsive" src="{{ article.image.url }}">
    models.py
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    class Article(models.Model):
       ....
        image=models.ImageField(upload_to="",blank=True)
    ...

  2. #2
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 030
    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 : 4 030
    Par défaut
    Bonjour,

    As-tu appliqué les commandes makemigrations et migrate (un exemple ICI) ?

  3. #3
    Membre éclairé
    Homme Profil pro
    growth hacker
    Inscrit en
    Novembre 2018
    Messages
    187
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : growth hacker
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2018
    Messages : 187
    Par défaut
    oui bien sûr

    Vous voulez peut-être plus d'informations, d'accord quand je rentre dans l'administrateur et je clique sur le nom de l'image dans l'article je suis dirigé vers l'image par contre quand je lance le server, j'ai ce problème merci beaucoup pour votre aide je sais que vous n'êtes pas obligé.

  4. #4
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 030
    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 : 4 030
    Par défaut
    Du coup je perds le fil avec pour moi votre problématique de départ,

    Je cherche à mettre imagefield à la place d'URLField
    et votre réponse,

    quand je rentre dans l'administrateur et je clique sur le nom de l'image dans l'article je suis dirigé vers l'image par contre quand je lance le server, j'ai ce problème
    qui semble être logique dans le sens où si vous utiliser un objet URLField vous n'avez pas accès à l'attribut image, comme vous l'auriez avec l'objet ImageField.

  5. #5
    Membre éclairé
    Homme Profil pro
    growth hacker
    Inscrit en
    Novembre 2018
    Messages
    187
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : growth hacker
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2018
    Messages : 187
    Par défaut
    Je ne comprends pas ce que vous n'avez pas compris quand on utilise Imagefield, c'est pour que vous poussiez ajouter des images par l'administration avec le texte, le prix, ect alors c'est bien avec l'administrateur je suis à l'origine un data science (pas un développeur), mais je suis sûr que c'est comme ça non ?

  6. #6
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 030
    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 : 4 030
    Par défaut
    Bref, ok... passons !

    Pour éviter l'erreur on pourrait commencer par vérifier que article.image existe,

    Code twig : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    {% if article.image %}
        <img class="img-responsive" src="{{ article.image.url }}">
    {% endif %}

  7. #7
    Membre éclairé
    Homme Profil pro
    growth hacker
    Inscrit en
    Novembre 2018
    Messages
    187
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : growth hacker
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2018
    Messages : 187
    Par défaut
    Oui, il existe est quand vous entrez dans l'article(avec l'admin), vous trouvez le nom, le prix et le nom de l'image en lien. le problème quand vous enlevez url cela marche, mais sans afficher l'image avec (url) vous donne le problème
    ValueError: The 'image' attribute has no file associated with it.
    et voilà une vidéo d'une personne qui a fait les mêmes étapes que moi


  8. #8
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 030
    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 : 4 030
    Par défaut
    C'est pas plutôt,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
    ?

  9. #9
    Membre éclairé
    Homme Profil pro
    growth hacker
    Inscrit en
    Novembre 2018
    Messages
    187
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : growth hacker
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2018
    Messages : 187
    Par défaut
    Citation Envoyé par fred1599 Voir le message
    C'est pas plutôt,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
    ?
    Apparemment, je vous ai donné la version avant la correction de cette erreur, car j'ai changé le nom du fichier sans raison de static à media, mais le problème est toujours le même.
    Apparemment,il cherche dans/vente/images_LmmSuPv.png alors qu'il doit chercher dans media/images_LmmSuPv.png l'application s'appelle "vente"

  10. #10
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 030
    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 : 4 030
    Par défaut
    En ce qui me concerne je ne fais confiance qu'à ce que je lis

    L'erreur est ma principale base pour vous aider, le reste, c'est ce que dit Django qui m'intéresse, surtout celle-ci: The 'image' attribute has no file associated with it


    Cela veut dire que votre fichier 'image' n'est pas reconnu, il suffit de lire le fichier source et cette partie,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    def _require_file(self):
        if not self:  # si l'instance n'existe pas...
            raise ValueError("The '%s' attribute has no file associated with it." % self.field.name)
    Cela veut dire, en admettant que je fasse confiance au fait que c'est réellement une image que, article n'est pas une instance de ImageField

    Après je veux bien regarder la vue qui génère la variable article du template list.html, car c'est le seul renseignement qui manque encore pour avancer...

  11. #11
    Membre éclairé
    Homme Profil pro
    growth hacker
    Inscrit en
    Novembre 2018
    Messages
    187
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : growth hacker
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2018
    Messages : 187
    Par défaut
    Non, ce n'était pas ça le problème, j'ai oublié deux lignes, mais c'est résolu merci {% if article.image %} et {% endif %}

  12. #12
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 030
    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 : 4 030
    Par défaut
    C'est ce que j'ai proposé ICI.

  13. #13
    Membre éclairé
    Homme Profil pro
    growth hacker
    Inscrit en
    Novembre 2018
    Messages
    187
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : growth hacker
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2018
    Messages : 187
    Par défaut
    Citation Envoyé par fred1599 Voir le message
    C'est ce que j'ai proposé ICI.
    Désolé, je n'ai pas fait attention à mon code et j'étais sûr de l'avoir écrit alors pour moi, c'était écrit, mais peut-être dans un autre code.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. changer image par un click
    Par gy0m76 dans le forum GTK+ avec C & C++
    Réponses: 4
    Dernier message: 07/03/2009, 17h46
  2. Réponses: 3
    Dernier message: 09/01/2009, 14h04
  3. changer imprimante par defaut
    Par kayser dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 24/11/2006, 17h04
  4. changer css par javascript
    Par attavus dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 16/06/2006, 16h53
  5. changer messagerie par défaut
    Par flogreg dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 26/10/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