DJANGO AUTHENTIFICATION

Salut  😉

L’un des problèmes auxquels  le développeurs sont souvent confrontés lorsqu’ils développent des  applications  sont:

* Comment gérer les utilisateurs  , les groupes

* Comment gérer les permissions des utilisateurs

*Comment gérer les sessions

* Comment gérer l’authentification

Cet article répond a l’une de ces question comment authentifier dans une application django  , c’est très simple.

*    urls.py

    from django.conf.urls.defaults import *

# Uncomment the next two lines to enable the admin:

from django.contrib import admin
from django.contrib.auth.decorators import login_required
from django.views.generic.simple import direct_to_template
from login_logout import  views

admin.autodiscover()

urlpatterns = patterns('',
 # Example:
 # (r'^projects/', include('projects.foo.urls')),
 # Uncomment the admin/doc line below and add 'django.contrib.admindocs'
 # to INSTALLED_APPS to enable admin documentation:
 (r'^$' , login_required(direct_to_template),
 {"template" : "partials/welcom.html" }),
 (r'^accounts/login' , 'django.contrib.auth.views.login'),
)

lorsque l’utilisateur accède   a l’URL  (r’^$’)  , django vérifie  qu’il est bien authentifié , sinon  alors une redirection est faite  vers  (/accounts/login).

Lorsque l’url  (r’^$’)  est parsé alors la vue (django.contrib.auth.views.login)  est appelée .Cette vue renvoie au template  (/registration/login.html)  se trouvant dans votre répertoire de template  . Voici un exemple classique de ce fichier de template .

* login.html

{% extends "base.html" %}
{% block content %}
{% if form.errors %}
<p>Your username and password didn't match. Please try again.</p>
{% endif %}
<form method="post" action="{% url django.contrib.auth.views.login %}">{% csrf_token %}
<table>
<tr>
 <td>{{ form.username.label_tag }}</td>
 <td>{{ form.username }}</td>
</tr>
<tr>
 <td>{{ form.password.label_tag }}</td>
 <td>{{ form.password }}</td>
</tr>
</table>
<input type="submit" value="login" />
<input type="hidden" name="next" value="{{ next }}" />
</form>

{% endblock %

Si l’utilisateur s’est authentifiée alors  la redirection est faite vers  le template defini dans  ( {‘template’ :’partials/welcom.html’})   dans mon cas  .Naturellement vous pouvez faire une redirection  la ou vous voulez  ( partials/welcom.html  n’est qu’un exemple de template  😉  )

* welcom.html

{% if user.is_authenticated %}
 <p>Welcome, {{ user.username }}. Thanks for logging in.</p>
{% else %}
 <p>Welcome, new user. Please log in.</p>
{% endif %}

Voila c’est  tout 😉

Publicités

0 Responses to “DJANGO AUTHENTIFICATION”



  1. Laisser un commentaire

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s





%d blogueurs aiment cette page :