Ответ 1
Используйте is_anonymous
def index(request):
the_user = request.user
В Django, как узнать, действительно ли это настоящий пользователь или нет? Я пробовал:
if the_user:
, но "AnonymousUser" существует, даже если никто не входит в систему. Таким образом, он всегда возвращает true, и это не работает.
Используйте is_anonymous
Альтернатива
if user.is_anonymous():
# user is anon user
проверяется на предмет идентификатора объекта пользователя:
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
Я знаю, что я делаю здесь немного серьезного рытья, но поиск Google привел меня на эту страницу.
Если ваш view def требует, чтобы пользователь вошел в систему, вы можете реализовать декоратор @login_required:
from django.contrib.auth.decorators import login_required
@login_required
def my_view(request):
…