2010-11-29 5 views
3

Donc, j'ai un projet django qui utilise le rendu jinja2, et j'ai aussi installé django-registration pour me faciliter la vie. J'ai rencontré le problème suivant:Django: Problème d'affichage avec Django + django-registration + jinja

Aller à la page d'accueil Je le rends avec jinja. Afin de vérifier l'authentification, je dois utiliser la syntaxe de jinja, qui est user.is_authenticated(). Cependant, dans les modèles de django réguliers, cette vérification est effectuée avec user.is_authenticated. Si dans le modèle de django habituel il y a(), cela donne une erreur.

donc aller à la/comptes/login/page, le Modul django-enregistrement ne fait rien de spécial, il transmet l'URL au django vues standard de la manière suivante:

from django.contrib.auth import views as auth_views 

url(r'^login/$', 
auth_views.login, 
{'template_name': 'registration/login.html'}, 
name='auth_login'), 

Je savoir avec certitude que je ne devrais pas changer la vue django.contrib.auth, mais alors où puis-je mettre ma propre vue? Dans myapp/views.py?

Et aussi, dois-je copier coller la vue django, puis la modifier (dans ce cas, il suffit de remplacer le rendu par render_jinja) ou est-il possible d'étendre cette vue django originale à mon propre vue légèrement modifiée pour se connecter?

Répondre

0

Que ce soit vrai ou faux, dans le module d'enregistrement, j'ai fait une nouvelle vue, qui a géré la journalisation, en copiant quelques lignes d'ici et là. C'est logique et semble fonctionner correctement.