Globalement votre code est bon, pour quelqu'un qui débute en Django, c'est
assez rare pour le souligner. J'apprécie également que votre question
soit bien posée, et que vous fournissiez tous les éléments demandés.

Il est très probable que votre problème vienne du fait que Principale()
n'utilise pas RequestContext comme le fait Identification(). RequestContext
est en effet responsable de la présence de la variable "perms" dans un
template, et vous vous appuyez dessus pour vérifier les permissions.

Si vous utilisez Django 1.4, vous pouvez remplacer render_to_response()
par render() fait exactement la même chose, mais utilise RequestContext
par défaut.

Quelques conseils pour finir:

- les vues sont des fontions, et en Python le nom des fonctions est par
convention écrit en minuscule, séparé par des underscore (def
ma_fontion());
- je vous déconseille d'utiliser des majuscules dans les URLs, à moins
d'avoir des besoins spécifiques comme mimer une API ou respecter une
spécification;
- il existe déjà des fonctions d'authentification dans Django, la votre
est bien codée, mais utiliser (r'^Metalangue/Connexion/$',
'django.contrib.auth.views.login', {'template_name':
'Identification.html''}), à la place de url('^Metalangue/Connexion/$',
'Metalangue.Connexion.views.Identification') vous épargnera non seulement
le besoin de coder/débugguer/maintenir Identification(), mais cela
permettra aussi d'éliminer cette fonction comme suspect dans les
problèmes de login (on est pas à l'abris d'un petit détail qui nous
échappe)
_______________________________________________
django mailing list
[email protected]
http://lists.afpy.org/mailman/listinfo/django

Répondre à