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 :

problème de récupération de données dans base de données


Sujet :

Django Python

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2016
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2016
    Messages : 17
    Points : 13
    Points
    13
    Par défaut problème de récupération de données dans base de données
    Bonjour, j'ai réalisé ce formulaire pour récupérer une url et un pseudo dans le but de faire un raccourcisseur d'url

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    def miniurl(request):
        # Construire le formulaire, soit avec les données postées,
        # soit vide si l'utilisateur accède pour la première fois
        # à la page.
        form = MiniUrlForm(request.POST or None)
        # Nous vérifions que les données envoyées sont valides
        # Cette méthode renvoie False s'il n'y a pas de données
        # dans le formulaire ou qu'il contient des erreurs.
        if form.is_valid():
            # Ici nous pouvons traiter les données du formulaire
            url = form.cleaned_data['url']
            pseudo = form.cleaned_data['pseudo']
            form.save()
            return redirect (redirection)
        else:
            form=MiniUrlForm()
     
     
     
     
        # Quoiqu'il arrive, on affiche la page du formulaire.
        return  render(request, 'mini_url/contact.html', locals())

    et voici mon model :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    class MiniUrl(models.Model):
        url=models.URLField()
        pseudo=models.CharField(max_length=10)
        date = models.DateTimeField(auto_now_add=True, auto_now=False,verbose_name="Date de parution")
        code=generer(4)
     
     
    def __str__(self):
     
            return self.titre

    mon problème est que quand j'essaye d'accéder à une url via le shell:

    murl=MiniUrl()

    murl.url renvoi ' ' alors que dans la section administration du site j'ai des urls enregistrées idem pour les pseudos.

    par contre quand je fait MiniUrl.objects.all() j'obtiens une liste d'objets nommés MiniUrl object. J'espère avoir été assez clair et j'attends vos réponses avec impatience.
    Cordialement.

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

    Citation Envoyé par pragm Voir le message
    J'espère avoir été assez clair et j'attends vos réponses avec impatience.
    Est-il si compliqué d'ouvrir la documentation Django pour voir comment faire des requêtes?

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

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2016
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2016
    Messages : 17
    Points : 13
    Points
    13
    Par défaut
    MiniUrl.objects.all () me renvoi

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    >>> MiniUrl.objects.all()
    [<MiniUrl: MiniUrl object>, <MiniUrl: MiniUrl object>, <MiniUrl: MiniUrl object>, <MiniUrl: MiniUrl object>, <MiniUrl: MiniUrl object>, <MiniUrl: MiniUrl object>, <MiniUrl: MiniUrl object>, <MiniUrl: MiniUrl object>, <MiniUrl: MiniUrl object>, <MiniUrl: MiniUrl object>, <MiniUrl: MiniUrl object>, <MiniUrl: MiniUrl object>, <MiniUrl: MiniUrl object>, <MiniUrl: MiniUrl object>, <MiniUrl: MiniUrl object>, <MiniUrl: MiniUrl object>, <MiniUrl: MiniUrl object>, <MiniUrl: MiniUrl object>, <MiniUrl: MiniUrl object>]
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    >>> MiniUrl.objects.filter(id=1)
    []

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    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 287
    Points : 36 776
    Points
    36 776
    Par défaut
    çà dit juste qu'il y a des enregistrements mais aucun qui ait la propriété id=1...

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

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2016
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2016
    Messages : 17
    Points : 13
    Points
    13
    Par défaut
    Je n'arrive pas à trouver la requête permettant d'accéder à l'url enregistrée dans MiniUrl object.

  6. #6
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    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 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Citation Envoyé par pragm Voir le message
    Je n'arrive pas à trouver la requête permettant d'accéder à l'url enregistrée dans MiniUrl object.
    Il faut une requête pour accéder au contenu de la base de donnée qui retournera une liste (éventuellement vide) d'objets dont l'URL sera un des attributs.
    Si vous relisez le tuto, vous avez dans ce paragraphe des instructions comme:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    >>> print([e.headline for e in Entry.objects.all()])
    >>> print([e.pub_date for e in Entry.objects.all()])
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  7. #7
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2016
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2016
    Messages : 17
    Points : 13
    Points
    13
    Par défaut
    >>> for MiniUrl in MiniUrl.objects.all():
    print(MiniUrl.url)

    ne renvoi rien.

  8. #8
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    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 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Citation Envoyé par pragm Voir le message
    >>> for MiniUrl in MiniUrl.objects.all():
    print(MiniUrl.url)

    ne renvoi rien.
    Puisque vous prétendez que MiniUrl.objects.all() n'est pas vide, çà devrait au moins afficher N lignes vides - ce qui n'est pas impossible... Avez vous vérifié que la table contient des URL différentes de "vide"?
    Vu les questions que vous posez, je comprends que vous soyez un peu perdu mais avant de se lancer dans Django, il faut quand même avoir pris le temps d'apprendre à programmer et les bases du langage Python. Si ce n'est pas le cas, vous perdez votre temps.

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

  9. #9
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2016
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2016
    Messages : 17
    Points : 13
    Points
    13
    Par défaut
    MiniUrl n est pas vide puisque je peux voir les urls et les pseudos enregistrées dans la partie admin du site.

  10. #10
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    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 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Citation Envoyé par pragm Voir le message
    MiniUrl n est pas vide puisque je peux voir les urls et les pseudos enregistrées dans la partie admin du site.
    On suppose qu'elle n'est pas vide puisque vous avez posté la sortie de MiniUrl.objects.all() dans cette réponse. Si aujourd'hui MiniUrl.objects.all() est vide, c'est qu'il s'est passé des choses depuis la semaine dernière et, comme on n'est pas derrière vous pour voir ce que vous faites, pas facile de vous aider.
    De toutes façons, on ne peut vous aider que sur des questions que l'on peut comprendre et éventuellement reproduire. Et comme ne rien faire avec Django, c'est déjà beaucoup de choses, si vous n'êtes pas plus autonome côté programmation, impossible de vous aider.
    C'est comme çà.

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

  11. #11
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2016
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2016
    Messages : 17
    Points : 13
    Points
    13
    Par défaut
    Je n ai rien modifié depuis la semaine derniere.
    J ai accédé a une url en faisant cela.
    murl=MiniUrl.objects.get(pseudo="toto")
    murl.url=http : //www.sncf.com
    Bien sur cela suppose que je connaisse le pseudo a utiliser.

Discussions similaires

  1. erreur récupération des données depuis base de données dans une liste
    Par amintoraa dans le forum Développement Web en Java
    Réponses: 3
    Dernier message: 25/04/2014, 23h41
  2. Impossible d'ajouter données dans base de données
    Par spartaxhit dans le forum Requêtes
    Réponses: 1
    Dernier message: 14/01/2008, 02h58
  3. methodologie pour Supprimer données dans base de données
    Par elkhy dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 26/04/2006, 18h30
  4. insertion de données dans Base de données Oracle 9
    Par hottnikks_79 dans le forum SQL
    Réponses: 2
    Dernier message: 16/03/2006, 00h07

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