Login

template filter to check login status

Author:
tamizhgeek
Posted:
May 11, 2011
Language:
Python
Version:
1.3
Tags:
template filters custom
Score:
-1 (after 3 ratings)

In templates sometimes you need to display some menu by checking whether the user is logged in or not. So use the above filter as shown below

{% with request|check_login as logout %}
{% if logout%}
display something....
{% endif %}
{% endwith %}
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
from django import template                                                                                                  
                                                                                                                             
register = template.Library()                                                                                                
                                                                                                                             
@register.filter                                                                                                             
def check_login(request):                                                                                                    
    if request.user.is_authenticated():                                                                                      
        return True                                                                                                          
    else:                                                                                                                    
        return False                                                                                                         
                      

More like this

Comments

azumafuji (on May 11, 2011):
<p>Can't you just do something like this:</p> <pre>{% if request.user.is_authenticated %} display something {% endif %} </pre>

#

tamizhgeek (on May 11, 2011):
<p>Hi azumafuji,</p> <p>I didn't know that methods can be called from templates. Thanks for pointing out.</p>

#

Please login first before commenting.