Problème d'insertion de donnees dans par le biais d'un formulaire html en django

Résolu/Fermé
samgione Messages postés 35 Date d'inscription vendredi 3 août 2007 Statut Membre Dernière intervention 16 décembre 2019 - 13 déc. 2019 à 19:34
samgione Messages postés 35 Date d'inscription vendredi 3 août 2007 Statut Membre Dernière intervention 16 décembre 2019 - 16 déc. 2019 à 20:52
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
A voir également:

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
1
samgione Messages postés 35 Date d'inscription vendredi 3 août 2007 Statut Membre Dernière intervention 16 décembre 2019 5
16 déc. 2019 à 20:52
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.
1
yg_be Messages postés 22729 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024 1 477
13 déc. 2019 à 21:08
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.
0