def index(request):
the_user = request.user
Django에서 실제 사용자인지 아닌지 어떻게 알 수 있습니까? 나는 시도했다 :이 사용자가 익명인지 또는 실제로 시스템에있는 사용자인지 어떻게 확인합니까?
if the_user:
그러나 "AnonymousUser"는 아무도 로그인하지 않아도 거기에있다. 따라서 항상 true를 반환하고 이것이 작동하지 않는다.
def index(request):
the_user = request.user
Django에서 실제 사용자인지 아닌지 어떻게 알 수 있습니까? 나는 시도했다 :이 사용자가 익명인지 또는 실제로 시스템에있는 사용자인지 어떻게 확인합니까?
if the_user:
그러나 "AnonymousUser"는 아무도 로그인하지 않아도 거기에있다. 따라서 항상 true를 반환하고 이것이 작동하지 않는다.
request.user.is_anonymous
이 True
을 반환하는지 확인할 수 있습니다.
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
대안에
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):
…
도 나쁜 생각입니다. user.is_anonymous()는 새 버전에서 계속 작동하며 향후 구현에 따라 user.id가 그렇지 않을 수도 있습니다. – maxbellec
를 참조하십시오
는'당신이'request.user.is_anonymous 사용해야 views.py' 것을주의를 '함수이기 때문에, 템플릿에서는'{{user.is_anonymous}} '를 사용해야합니다. – amigcamel
Django 1.9 에서처럼 is_authenticated()입니다 : https://docs.djangoproject.com/en/을 참조하십시오. 1.9/topics/auth/default/# 웹 인증 요청 –
from django 1.10, is_anonymous는 더 이상 메소드가 아님 – maxbellec