2012-04-04 9 views
1

Ich brauche einen Link in Django-Vorlage, die sich abmeldet, wenn Benutzer authentifiziert wird. (Ich habe bereits Login/Logout-Seiten implementiert)Wie füge ich Login/Logout-Link (Django) hinzu

versuchte {% if user.is_authenticated %} {% endif %} und {% if user.is_anonymous %} {% endif %} aber nicht funktioniert.

Testcode (https://docs.djangoproject.com/en/dev/topics/auth/) -

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

Returns falsch evan nach erfolgreicher Anmeldung.

+0

Verwenden '{% else%}' auch. – Blender

+0

@Blender ja, mit dem auch versucht. – ChamingaD

+0

Dann codierst du etwas falsch. Veröffentlichen Sie Ihren Vorlagencode. – Blender

Antwort

4

Es sieht nicht so aus, als ob mit dem von Ihnen geposteten Vorlagencode etwas nicht in Ordnung wäre. Also würde ich die zugehörige Ansicht überprüfen. Wenn Sie eine benutzerdefinierte Ansicht (und nicht etwa eine generische Ansicht) verwenden, sollten Sie sich daran erinnern, Ihre Vorlage mit einem RequestContext zu versehen.

Vom Django tutorial, part 4:

from django.template import RequestContext 
# ... 
def detail(request, poll_id): 
    p = get_object_or_404(Poll, pk=poll_id) 
    return render_to_response('polls/detail.html', {'poll': p}, 
          context_instance=RequestContext(request)) 
+0

Danke :) Es funktionierte durch Hinzufügen von 'context_instance = RequestContext (request)' – ChamingaD

+1

Sie können auch die ['render' Verknüpfung verwenden (http://django.me/render) –

Verwandte Themen