В Django вы можете использовать request.user для определения пользователя, который в данный момент авторизован и обращается к веб-странице.
Для определения, что пользователь открывает свой профиль, вы можете сравнивать значение request.user.id с ID профиля, который отображается на странице. Например, если каждый профиль имеет уникальный URL-адрес вида /profile//, то вы можете получить id из URL-адреса в представлении и сравнить его с request.user.id.
Пример кода в представлении, который проверяет, что пользователь открывает свой профиль:
from django.shortcuts import render, get_object_or_404
from django.contrib.auth.decorators import login_required
from myapp.models import UserProfile
@login_required
def profile(request, id):
user_profile = get_object_or_404(UserProfile, id=id)
if user_profile.user.id == request.user.id:
# Пользователь открывает свой профиль
# Добавьте здесь ваш код для обработки этого случая
return render(request, 'myapp/profile.html', {'user_profile': user_profile})
else:
# Пользователь открывает профиль другого пользователя
# Добавьте здесь ваш код для обработки этого случая
return render(request, 'myapp/other_profile.html', {'user_profile': user_profile})
В этом примере мы проверяем, что id профиля из URL-адреса соответствует id пользователя, который авторизован в request.user. Если id совпадает, значит пользователь открывает свой профиль, и мы возвращаем шаблон myapp/profile.html. В противном случае мы возвращаем шаблон myapp/other_profile.html, который будет отображаться для профилей других пользователей.