доступ к информации другого пользователя в Django - PullRequest
0 голосов
/ 04 ноября 2019

Я знаю, что для доступа к данным вошедшего в систему пользователя мы используем request.user. Моя цель - перечислить всех пользователей в таблице и получить ссылку на страницу их профиля. Как заставить ссылку перейти на страницу профиля пользователя?

У меня есть следующее:

# app/views.py
def tutors_list(request):
  user_list = CustomUser.objects.all()
  context = {
    'user_list': user_list
  }  
  return render(request, 'tutors_list.html', context)

def show_profile(request, username):
  user = CustomUser.objects.get(username = username) ### NOT DISPLAYING RIGHT USER
  #user = CustomUser.objects.get(id=id)
  context = {
    'user': user
  }  
  return render(request, 'show_profile.html', context)


# myproject/urls.py
url_patterns = [
  # ...
  path('show_profile/', views.show_profile, name='show_profile'),
  # ...

Я получаю сообщение об ошибке, говорящее show_profile ожидает еще один аргумент, username. Как именно будет работать эта модель, если мне нужно получить данные для конкретного пользователя в базе данных, а не для вошедшего в систему пользователя?

1 Ответ

0 голосов
/ 04 ноября 2019

Поскольку ваша ошибка говорит, что show_profile ожидает еще 1 аргумент, username, поэтому вам нужно передать имя пользователя в шаблоне URL:

 path('<str:username>/show_profile/', views.show_profile, name='show_profile'),
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...