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 d'insertion de donnees dans formulaire html en django [Python 3.X]


Sujet :

Django Python

  1. #1
    Membre du Club
    Inscrit en
    Mai 2007
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 69
    Points : 43
    Points
    43
    Par défaut Problème d'insertion de donnees dans formulaire html en django
    Salut à tous,

    Je suis Samgi, novice en python/django, j'ai un problème avec un formulaire d'enregistrement html. j'ai crée un projet connexion et d'inscription des utilisateurs en django, ça a l'aire de bien fonctionner, mais quand j'ai essayé de faire une inscription ou de connecter, il affiche une erreur, la voici:
    Nom : gjango erreur.png
Affichages : 470
Taille : 30,5 Ko

    sur mon console
    Nom : gjango erreur2.png
Affichages : 458
Taille : 44,6 Ko

    J ai beaucoup vérifiez là où il m'indique l'erreur dans mon fichier views.py mais je ne peux pas identifier l'erreur. Pourriez-vous m'aider a le resoudre svp?

    voici les informations de mon fichier views.py:
    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
    23
    24
    25
    26
    from django.shortcuts import render, redirect, HttpResponseRedirect
    from .models import Postulant
    # Create your views here.
     
    def accueil(request):
        return render(request, 'gsweb/accueil.html')
     
    def inscription(request):
        if request.method == 'POST':
            Postulant = Postulant(nom=request.POST['nom'], prenom=request.POST['prenom'],  niveau=request.POST['niveau'], email=request.POST['email'], phone=request.POST['phone'], naissance=request.POST['naissance'], utilisateur=request.POST['utilisateur'], motdepasse=request.POST['motdepasse'])
            Postulant.save()
            return redirect('/')
        else:
            return render(request, 'gsweb/inscription.html')
     
    def connexion(request):
        return render(request, 'gsweb/connexion.html')
     
    def home(request):
        if request.method == 'POST':
            if Postulant.objects.filter(utilisateur=request.POST['utilisateur'], motdepasse=request.POST['motdepasse']).exists():
                Postulant = Postulant.objects.get(utilisateur=request.POST['utilisateur'], motdepasse=request.POST['motdepasse'])
                return render(request, 'gsweb/home.html', {'Postulant': Postulant})
            else:
                context = {'msg': 'Nom d\'utilisateur ou mot de passe incorrect'}
                return render(request, 'gsweb/connexion.html', context)
    Je pense que les informations de mon fichier modele.py seront utiles, les voici:
    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
    from django.db import models
     
    # Create your models here.
    class Postulant(models.Model):
        nom=models.CharField(max_length=25)
        prenom=models.CharField(max_length=30)
        niveau=models.CharField(max_length=20)
        email=models.EmailField(max_length=20)
        phone=models.CharField(max_length=20)
        naissance=models.DateTimeField()
        utilisateur=models.CharField(max_length=20)
        motdepasse=models.CharField(max_length=12)
     
        def __str__(self):
            return self.nom + " " + self.prenom
    Merci d'avance pour votre aide et conseils.

  2. #2
    Membre à l'essai Avatar de UneBelette
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2019
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2019
    Messages : 9
    Points : 13
    Points
    13
    Par défaut
    Salut !

    Je ne suis pas un pro, mais ce genre d'erreur m'arrive quand j'appelle une variable avant de l'assigner. Dans ton views.py, tu peux essayer la chose suivante à la place de ta ligne 10 et 11:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     postulant = Postulant(request.POST)
    postulant.save()
    "Postulant" est-il le nom de la class de ton form dans forms.py ?

  3. #3
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    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 283
    Points : 36 770
    Points
    36 770
    Par défaut
    Citation Envoyé par samgione Voir le message
    J ai beaucoup vérifiez là où il m'indique l'erreur dans mon fichier views.py mais je ne peux pas identifier l'erreur. Pourriez-vous m'aider a le resoudre svp?
    C'est une erreur assez basique qui est assez familière lorsqu'on débute avec Python... Et si vous voulez utiliser Django sans connaître un peu mieux Python, vous allez au devant de problèmes que personne ne pourra/voudra corriger.

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

  4. #4
    Membre du Club
    Inscrit en
    Mai 2007
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 69
    Points : 43
    Points
    43
    Par défaut
    Citation Envoyé par UneBelette Voir le message
    Salut !

    Je ne suis pas un pro, mais ce genre d'erreur m'arrive quand j'appelle une variable avant de l'assigner. Dans ton views.py, tu peux essayer la chose suivante à la place de ta ligne 10 et 11:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     postulant = Postulant(request.POST)
    postulant.save()
    "Postulant" est-il le nom de la class de ton form dans forms.py ?
    Je viens d'essayer la façon dont tu m'as conseillé, malheureusement la même erreur s'affiche.
    Je n'utilise pas forms.py, je voulais utiliser les informations dans les templates de mes fichiers html seulement.

  5. #5
    Membre du Club
    Inscrit en
    Mai 2007
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 69
    Points : 43
    Points
    43
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    C'est une erreur assez basique qui est assez familière lorsqu'on débute avec Python... Et si vous voulez utiliser Django sans connaître un peu mieux Python, vous allez au devant de problèmes que personne ne pourra/voudra corriger.

    - W
    Je ne suis pas un pro en python mais je commence à le découvrir.

  6. #6
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    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 283
    Points : 36 770
    Points
    36 770
    Par défaut
    Citation Envoyé par samgione Voir le message
    Je ne suis pas un pro en python mais je commence à le découvrir.
    Pour coder avec Django, savoir coder avec Python est un pré-requis.
    Après vous faites comme vous voulez mais vos ressources de bases étant les tutos si vous ne savez pas programmer avec Python, vous ne pourrez même pas en profiter.
    Faites les choses dans l'ordre.

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

  7. #7
    Membre du Club
    Inscrit en
    Mai 2007
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 69
    Points : 43
    Points
    43
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    Pour coder avec Django, savoir coder avec Python est un pré-requis.
    Après vous faites comme vous voulez mais vos ressources de bases étant les tutos si vous ne savez pas programmer avec Python, vous ne pourrez même pas en profiter.
    Faites les choses dans l'ordre.

    - W
    Écoutez, c'est ce que je suis entrain de faire, je suis entrain d'apprendre tout seul python en utilisant des tutos, j'ai passé une première étape, maintenant je commence avec django. cependant, en relisant un exercice d'authentification, je fais face avec le problème dont je vous parle ci-dessus, alors si tu peux, aidez moi a continuer mon autoformation en python/django, si je ne résous pas le problème je ne me sentirais pas alaise.

  8. #8
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    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 283
    Points : 36 770
    Points
    36 770
    Par défaut
    Citation Envoyé par samgione Voir le message
    Écoutez, c'est ce que je suis entrain de faire, je suis entrain d'apprendre tout seul python en utilisant des tutos, j'ai passé une première étape, maintenant je commence avec django. cependant, en relisant un exercice d'authentification, je fais face avec le problème dont je vous parle ci-dessus, alors si tu peux, aidez moi a continuer mon autoformation en python/django, si je ne résous pas le problème je ne me sentirais pas alaise.
    C'est un problème que rencontrent tous les débutants lorsqu'ils écrivent:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    >>> a = 1
    >>> def f():
    ...     a = a
    ...
    >>> f()
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      File "<stdin>", line 2, in f
    UnboundLocalError: local variable 'a' referenced before assignment
    >>>
    vous devriez poursuivre votre formation Python avant de vous attaquer à Django.

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

  9. #9
    Membre du Club
    Inscrit en
    Mai 2007
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 69
    Points : 43
    Points
    43
    Par défaut
    Merci à toutes et à tous, mes problèmes sont résolus, j’espère vous recontacter en cas de besoin, vos aides m’entaient vraiment utile.

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

Discussions similaires

  1. [AC-2013] Problème d'insertion d'image dans un formulaire avec une macro
    Par DrizztUrden dans le forum Macros Access
    Réponses: 0
    Dernier message: 05/05/2014, 09h25
  2. [AC-2000] Problème d'insertion de photo dans formulaire et états
    Par maxim70 dans le forum IHM
    Réponses: 2
    Dernier message: 09/09/2010, 15h15
  3. [MySQL] problème d'insertion de données dans MySQL à partir d'un formulaire
    Par centia28 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 13/08/2010, 14h31
  4. Erreur insertion de donnee dans un champ formulaire
    Par FITRI dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 21/01/2010, 14h49
  5. Réponses: 1
    Dernier message: 07/10/2006, 10h35

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