이번엔 is_anonymous 와 is_authenticated 를 알아보겠습니다.


1. is_anonymous 소개 및 예시

is_anonymous는 로그아웃 여부를 묻습니다. 즉 그 유저가 로그아웃된 상태라면 True를 반환하게 됩니다. 
그렇다면 views.py 파일에선 어떻게 사용될까요?
 
1
2
3
4
5
6
if request.user.is_anonymous:
    pass
    # do something if user is logged out
else:
    pass
    # do something if user is logged in
cs


이렇게 사용될 수 있을 것입니다. 이번엔 templates 파일에서 어떻게 사용될지 알아봅시다.


1
2
3
{% if user.is_anonymous %}
    <p>This user is logged out</p>
{% endif %}
cs


이렇게 사용될 수 있습니다. django의 강력한 기능인 템플릿파일의 템플릿 태그에서도 그대로 쓰인다는게 참 편리합니다. 


2. is_authenticated 소개 및 예시

is_authenticated는 위에서 살펴 본 is_anonymous와 반대된다고 생각하시면 됩니다. 저 코드와 반대로 로그인 여부를 묻는 것입니다. 만약 로그인 되어 있다면 이 코드는 True를 반환합니다. 그렇다면 이 코드가 views.py에서 어떻게 사용되는지 알아볼까요?


1
2
3
4
5
6
if request.user.is_authenticated:
    pass
    # do something if user is logged in
else:
    pass
    # do something if user is logged_out
cs


이렇게 위와는 반대로 사용되게 됩니다. 그렇다면 템플릿 태그는 어떨지 알아보겠습니다. 


1
2
3
{% if user.is_authenticated %}
    <p>이 유저는 로그인 되어 있습니다.</p>
{% endif %}
cs


이렇게 사용되게 됩니다. 템플릿 태그를 이용하면 둘 중 하나만 알아도 대부분의 코드를 구현할 수 있을 것입니다. 


1
2
3
4
5
{% if user.is_authenticated %}
    <p>이 유저는 로그인 되어 있습니다.</p>
{% else %}
    <p>이 유저는 로그아웃 되어 있습니다..</p>
{% endif %}
cs


이렇게 사용하면 위에서 {% if user.is_authenticated %}가 False를 반환하게 될 경우 {% else %}안의 코드가 실행됩니다. 그러므로 한 가지만 알면 두 가지 경우를 다 처리할 수 있습니다.

3. is_active 소개 및 예시

그렇다면 is_active는 어떨까요? 우선 템플릿 태그는 이렇게 쓸 수 있습니다. 


1
2
3
4
5
{% if user.is_active %}
    <p>이 유저는 활성화 되어 있습니다.</p>
{% else %}
    <p>이 유저는 비활성화 되어 있습니다..</p>
{% endif %}
cs


is_active는 단순히 로그인, 로그아웃을 넘어서 그 유저의 현재 활동 가능 상태를 판단합니다. is_authenticated의 조금 더 발전된 버전입니다.



+ Recent posts