Bonjour, j'ai récupéré un template de connexion comme ceci :
http://zupimages.net/viewer.php?id=14/25/sd6z.png
J'ai pris l'index, l'ai mis comme base.html relié à son css dans mon dossier static de mon application. Seulement, la vue qui permet de faire correspondre les champs du html aux champs de connection Django je ne sais pas la faire.
J'avais fait un formulaire ds connection dans forms.py de mon appli, la vue correspondante qui envoyait les données au template, la connection fonctionnait mais du coup je ne pouvais pas y appliquer mon css et traiter les champs comme dans le template de connexion.
Ma vue se présentait sous cette forme là :
Mon templates :
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 def connexion(request): error = False if request.method == "POST": form = ConnexionForm(request.POST) if form.is_valid(): username = form.cleaned_data["username"] # Nous récupérons le nom d'utilisateur password = form.cleaned_data["password"] # et le mot de passe user = authenticate(username=username, password=password) #Nous vérifions si les données sont correctes if user: # Si l'objet renvoyé n'est pas None login(request, user) # nous connectons l'utilisateur else: #sinon une erreur sera affichée error = True else: form = ConnexionForm() return render(request, 'inter1/connexion.html',locals())
Si j'include ma base, j'obtient ma boite de connexion comme sur la photo mais après il n'y a aucune action derrière. Merci d'avance.
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 {% if error %} <p><strong>Utilisateur inexistant ou mauvais de mot de passe.</strong></p> {% endif %} {% if user.is_authenticated %} <meta http-equiv="Refresh" content="0;url=/inter1/accueil"> Vous êtes connecté, {{ user.username }} ! {% else %} <form method="post" action="."> {% csrf_token %} {{ form.as_p }} <input type="submit"/> </div> </div> </div> </form> {% endif %}
Partager