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

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

Этоэто код для views.py view_profile


def view_profile(request,pk=None):
    if pk:
        user = User.objects.get(pk=pk)
    else:
        user = request.user
    args = {'user':user}
    return render(request,'mainapp/profile.html')

А вот urls.py

path('profile/',views.view_profile,name='view_profile'),
    path('profile/<pk>/',views.view_profile,name='view_profile_with_pk'),

А вот модель UserProfileInfo

class UserProfileInfo(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE)
    first_name = models.CharField(max_length=50,blank=True,null=True)
    last_name = models.CharField(max_length=50,blank=True,null=True)
    description = models.CharField(max_length=150)
    image = ProcessedImageField(upload_to='profile_pics',
                                           processors=[ResizeToFill(150, 150)],
                                           default='default.jpg',
                                           format='JPEG',
                                           options={'quality': 60})
    joined_date = models.DateTimeField(blank=True,null=True,default=timezone.now)
    verified = models.BooleanField( default=False)

    def __str__(self):
        return f'{self.user.username} Profile'

    def save(self, *args, **kwargs):
        super().save(*args, **kwargs)

Я перепробовал все виды вещей, включая переключение разных вещей и т. Д.

Так что для остального кода, который имеет отношение к этой проблеме, вот фактический шаблон, который отображает эту информацию

{% extends 'mainapp/base.html' %}
{% load static %}
{% block content %}

<p>{{ user }}</p>
<p>{{ user.first_name }} {{ user.last_name }}</p><br>
<p>{{ user.email }}</p><br>
<p>{{ user.userprofileinfo.description }}</p><br>
<img class="rounded-circle account-img" src="{{ user.userprofileinfo.image.url }}">

{% endblock %}

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

Спасибо за любую помощь, и простоЯ знаю, если вам нужны какие-либо разъяснения по поводу чего-либо или большего кода:)

...