Профиль другого пользователя не отображается, он показывает только текущее имя пользователя. Как отобразить профиль другого пользователя?

#python #html #django #django-models #django-views

#python #HTML #django #django-модели #django-просмотры

Вопрос:

Я создаю веб-приложение и хочу, чтобы оно отображало профиль другого пользователя через сообщение пользователя. Я имею в виду, когда пользователь нажимает на профиль другого пользователя, чтобы просмотреть информацию другого пользователя, тогда он покажет профиль другого пользователя. Я перепробовал все, но после нажатия на сообщение отображается имя текущей информации о пользователе.

Пожалуйста, помогите мне в этом. Большое вам спасибо. Я действительно буду признателен за вашу помощь.

Вот мой код:-

views.py

 def post_profile(request,username):
    poste = Profile.objects.get(user=request.user)
    context = {'poste':poste}
    return render(request, 'mains/post_profile.html', context)
 

models.py

 class Profile(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE,default='',unique=True)
    full_name = models.CharField(max_length=100,default='')
    date_added = models.DateTimeField(auto_now_add=True)
 

Пожалуйста, помогите мне в этом, я не знаю, в чем проблема

Комментарии:

1. В вашем def post_profile вы используете user = request.user . Поскольку текущий пользователь запрашивает просмотр профиля других людей, будет показан профиль текущего пользователя.

2. но что я должен использовать вместо него?

Ответ №1:

Вы можете попробовать это:

Создайте URL-адрес профиля и передайте user_id с ним параметр.

urls.py

 from django.urls import path

urlpatterns =[
    ....
    path('profile/<int:user_id>', views.show_profile, name='show_profile'),
]
 

Теперь создайте представление и передайте user_id ему параметр с request параметром.

 def show_profile(request, user_id):
    poste = Profile.objects.get(user=user_id)
    context = {'poste': poste}
    return render(request, 'mains/post_profile.html', context)
 

Теперь покажите профиль пользователя в шаблоне.

Комментарии:

1. Уважаемый сэр, он показывает ошибку, обратную для ‘show_profile’, при этом аргументы не найдены. попробовано 1 шаблон (ы): [‘profile/(?P<user_id>[0-9] ) $’] сэр, можете ли вы сообщить свой адрес электронной почты, чтобы я мог поговорить с вами там, я покажу весь код там

2. Хорошо, это lingayatajay2810@gmail.com .