def index(request):
the_user = request.user
Django에서 실제 사용자인지 아닌지 어떻게 알 수 있습니까? 나는 시도했다 :
if the_user:
그러나 "AnonymousUser"는 아무도 로그인하지 않아도 존재합니다. 따라서 항상 true를 반환하고 작동하지 않습니다.
답변:
request.user.is_anonymous
반품 여부를 확인할 수 있습니다 True
.
is_authenticated()
: 참조하십시오 docs.djangoproject.com/en/1.9/topics/auth/default/...
is_authenticated()
. 사용하려는 방법은 . 참조 thegarywilson.com/blog/2006/is_authenticated-vs-is_anonymous
request.user.is_authenticated
Django 1.10+ 의 속성 인 을 사용 하는 것입니다. 이는 현재 와 동일 합니다. docs.djangoproject.com/en/dev/ref/contrib/auth/…is_anonymous
참조하십시오 . Django Guardian도 사용하는 경우 이러한 속성은 예상대로 작동하지 않습니다. django-guardian.readthedocs.io/en/stable/configuration.html 참조
대안
if user.is_anonymous():
# user is anon user
사용자 개체의 ID가 무엇인지 테스트하는 것입니다.
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를
views.py
사용해야하는request.user.is_anonymous()
템플릿에 사용해야하지만,이 기능은 이후{{user.is_anonymous}}