Problème d'insertion de donnees dans par le biais d'un formulaire html en django [Résolu]

Signaler
Messages postés
35
Date d'inscription
vendredi 3 août 2007
Statut
Membre
Dernière intervention
16 décembre 2019
-
samgione
Messages postés
35
Date d'inscription
vendredi 3 août 2007
Statut
Membre
Dernière intervention
16 décembre 2019
-
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:


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 de mon app:
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:
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

3 réponses

Bonsoir,

Je ne connais rien à django.

Mais commence par écrire les noms d'instances en minuscules.

Faire
Postulant = Postulant(...)
est une très mauvaise idée et si ça se trouve est source de ton problème.

Oups, grillé XD
Messages postés
9362
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 janvier 2020
491
bonjour, il me semble qu'utiliser le même nom, Postulant, pour deux entités différentes (la classe et la variable), est une mauvaise idée. Je suggère de faire autrement.
Messages postés
35
Date d'inscription
vendredi 3 août 2007
Statut
Membre
Dernière intervention
16 décembre 2019
4
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.