2011-01-09 3 views

답변

62

request.user.is_anonymousTrue을 반환하는지 확인할 수 있습니다.

if user.id == None: 
    # user is anon user 
else: 
    # user is a real user 

은 내가 조금하고 있어요 알고 https://docs.djangoproject.com/en/dev/ref/contrib/auth/#anonymous-users

+10

는'당신이'request.user.is_anonymous 사용해야 views.py' 것을주의를 '함수이기 때문에, 템플릿에서는'{{user.is_anonymous}} '를 사용해야합니다. – amigcamel

+8

Django 1.9 에서처럼 is_authenticated()입니다 : https://docs.djangoproject.com/en/을 참조하십시오. 1.9/topics/auth/default/# 웹 인증 요청 –

+2

from django 1.10, is_anonymous는 더 이상 메소드가 아님 – maxbellec

12

대안에

if user.is_anonymous(): 
    # user is anon user 

는 사용자 개체의 ID가 무엇인지보기 위해 테스트입니다 여기에서 무덤을 파다. 그러나 구글 검색은 나를이 페이지로 데려왔다.

보기 데프는 사용자가 로그인해야하는 경우, 당신은 @login_required 장식 구현할 수 있습니다) (

from django.contrib.auth.decorators import login_required 

@login_required 
def my_view(request): 
    … 
+2

도 나쁜 생각입니다. user.is_anonymous()는 새 버전에서 계속 작동하며 향후 구현에 따라 user.id가 그렇지 않을 수도 있습니다. – maxbellec

3

를 참조하십시오

관련 문제