Djanog отображает объекты, специфичные для пользователя

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

Я создал это.

forms.html

<form method='POST' action="." enctype="multipart/form-data">
    {% csrf_token %}
    {{ form }}
    <button type='submit' class=''>Submit</button>
</form>

<p>{% if details.phone %} {{details.phone}} {% else %} &nbsp; {% endif %} </p>
<p> {{ request.user }}  </p>

views.py

def edit_profile(request):
    details = UserProfile.objects.all()[0]
    try:
        profile = request.user.userprofile
    except UserProfile.DoesNotExist:
        profile = UserProfile(user=request.user)

    if request.method == 'POST':
        form = UserProfileForm(request.POST, instance=profile)
        if form.is_valid():
            form.save()
            return redirect('/')
    else:
        form = UserProfileForm(instance=profile)

        return render(request, 'forms.html', {'form': form, 'details': details})

models.py

class UserProfile(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE)
    bio = models.TextField(blank=True)
    phone = models.CharField(max_length=10, blank=True)
    address = models.CharField(max_length=1024)
    age = models.PositiveIntegerField(blank=True, null=True)
    gender = models.IntegerField(default=1)

С {{ request.user }} работает нормально, показывает текущее имя пользователя, вошедшего в систему. А с {{ details.phone }} Я хочу просто отобразить номер, который пользователь ввел в поле телефона. Но в настоящее время по умолчанию отображается номер администратора. Даже если я ввожу новый номер для пользователя, он все равно показывает номер администратора.

Нужно ли что-то изменить, чтобы отображался только номер, введенный конкретным пользователем?

Вернуться на верх