Program Tip

이 사용자가 익명인지 또는 실제로 내 시스템의 사용자인지 어떻게 확인합니까?

programtip 2020. 11. 27. 21:12
반응형

이 사용자가 익명인지 또는 실제로 내 시스템의 사용자인지 어떻게 확인합니까?


def index(request):
    the_user = request.user

Django에서 실제 사용자인지 아닌지 어떻게 알 수 있습니까? 나는 시도했다 :

if the_user: 그러나 "AnonymousUser"는 아무도 로그인하지 않아도 존재합니다. 따라서 항상 true를 반환하고 작동하지 않습니다.


request.user.is_anonymous반품 여부를 확인할 수 있습니다 True.


대안

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를


나는 내가 여기서 약간의 파고를하고 있다는 것을 알고 있지만, 구글 검색은 나를이 페이지로 데려왔다.

뷰 정의에 사용자 로그인이 필요한 경우 @login_required 데코레이터를 구현할 수 있습니다.

from django.contrib.auth.decorators import login_required

@login_required
def my_view(request):

login_redirect_url이 전송 된 페이지에 있다는 점을 제외하면 비슷한 문제가 발생했습니다. 나는 템플릿을 넣어야했다 :

{% if user.is_authenticated %}
    Welcome Back, {{ username }}
{% endif %}

참고 URL : https://stackoverflow.com/questions/4642596/how-do-i-check-whether-this-user-is-anonymous-or-actually-a-user-on-my-system

반응형