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 :

Erreur page d'identification sous Django


Sujet :

Django Python

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2013
    Messages : 2
    Points : 3
    Points
    3
    Par défaut Erreur page d'identification sous Django
    Bonjour, j'ai crée une page d'identification mais lorsque que je me connecte un message d'erreur s'affiche ne m'aidant pas beaucoup :

    MultiValueDictKeyError at /connexion/connexion/
    "'username'"
    Request Method: GET
    Request URL: http://localhost:8000/connexion/connexion/
    Django Version: 1.6.1
    Exception Type: MultiValueDictKeyError
    Exception Value: "'username'"
    Exception Location: /usr/local/lib/python2.7/dist-packages/django/utils/datastructures.py in __getitem__, line 301
    Python Executable: /usr/bin/python

    Ma vue:

    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
    #-*- coding: utf-8 -*-
    from django.shortcuts import render
    from connexion.forms import ConnexionForm
    from django.contrib.auth import authenticate
    from django.http import HttpResponse
    from connexion.models import utilisateurs
     
    def login(request):
        username = request.POST['username']
        assword = request.POST['password']
        user = authenticate(username=username password=password)
     
        if user is not None:
            if user.is_active:
                login(request, user)
                print("Connecté !")
     
     
            else:
                print("mdp valide, mais compte indisponible ")
        else:
            print("id et mdp non valide")

    Ma page html:

    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
    27
    28
    {% extends "base.html" %}
    {% block title %}Test page connexion{% endblock %}
     
    {% block content %}
    <h3>Connexion: </h3>
     
    {% if form.errors %}<p class="error">Erreur mot de passe</p>{% endif %}
     
    	<form action="" method="POST">
    		<table align="center">
    			<tr>
    				<td><label for="username">User name:</label></td>
    				<td><input type="text" name="username" id="username"></td>
    			</tr>
    			<tr>
    				<td><label for="password">Password:</label></td>
    				<td><input type="password" name="password" id="password"></td>
    			</tr>
    			<tr>
    				<td><input type="submit" value="Connexion" /></td>
    				<td><input type="reset" value="Reinitialiser"></td>
    			</tr>
    		</table>
    	</form>
     
     
    {% if envoi %}Connecté !{% endif %}
    {% endblock %}

    Mon URL:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    from django.conf.urls import patterns, url
    from django.contrib.staticfiles.urls import staticfiles_urlpatterns
    from django.contrib.auth.views import login
     
    urlpatterns = patterns('connexion.views',
        url(r'^connexion/$', 'login'), #Vue connexion
    )
    Help me please !

  2. #2
    Expert confirmé Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Points : 4 005
    Points
    4 005
    Par défaut
    Pas trop le temps ce matin mais avec une lecture transversale :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        username = request.POST['username']
        password = request.POST['password']
        user = authenticate(username=username, password=password)
    @+
    Merci d'utiliser le forum pour les questions techniques.

  3. #3
    Membre averti Avatar de Stopher
    Homme Profil pro
    Responsable technique
    Inscrit en
    Juin 2004
    Messages
    198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Responsable technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 198
    Points : 446
    Points
    446
    Par défaut
    Salut,

    un problème avec les clef dans le dictionnaire POST ,
    perso j'utilise la méthode get() de l'objet Dict, avec une valeur par défaut, ce qui évite ce genre de problème .

    Voici par exemple ma vue pour le login:
    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 login_view(request,template_name='login.html'):
        """
        Formulaire d'identification utilisateur
        """    
        username = password = ""
     
        if request.method   == 'POST':
     
            username = request.POST.get('username',None)
            password = request.POST.get('password',None)
     
            user = authenticate(username=username, password=password)
     
            if user is not None:
     
                if user.is_active:
                    login(request, user)
     
                    return HttpResponseRedirect(request.POST.get('next','/'))
     
        return render_to_response(template_name, {'next':request.GET.get('next','/'),'username': username},context_instance=RequestContext(request))
    Ch.

  4. #4
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2013
    Messages : 2
    Points : 3
    Points
    3
    Par défaut Done !
    Yes parfait merci beaucoup !!!

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

Discussions similaires

  1. Page ASP créée sous Access
    Par tmervillon dans le forum Access
    Réponses: 1
    Dernier message: 15/03/2006, 09h57
  2. [FTP] Page d'identification
    Par lox dans le forum Langage
    Réponses: 15
    Dernier message: 10/02/2006, 13h46
  3. [CSS] mise en page 4 div sous IE
    Par jcaruana dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 06/02/2006, 09h24
  4. [CR 10] entete de page dans un sous état
    Par alpachico dans le forum SAP Crystal Reports
    Réponses: 3
    Dernier message: 24/11/2005, 16h51

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