@joli

Как создать страницу профиля?

Здравствуйте, хочу сделать что-то на подобии Вк, сделал только регистрация и вход, следующий шаг это сделать что бы после входа пользователя перенаправляло на его страницу профиля. Решил реализовать это через pk, но выдает ошибку :
Reverse for 'profile' with keyword arguments '{'pk': ''}' not found. 1 pattern(s) tried: ['profile\\/(?P[0-9]+)\\/$']


#views.py
def list_user(request):
    list = Profile.objects.all()
    return render(request, 'account/list.html', {'list': list})

def user_detail(request, pk):
    profile = get_object_or_404(Profile, pk=pk)
    return render(request, 'account/profile.html', {'profile': profile})

#models.py
class Profile(models.Model):
    user = models.OneToOneField(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
    date_of_birth = models.DateField(blank=True, null=True)

    def __str__(self):
        return self.user.username

#urls.py
    path('list/', views.list_user, name='list'),
    path('profile/<int:pk>/', views.user_detail, name='profile')

#list.html
{% for i in list %}
  <a href="{% url 'profile' pk=profile.pk %}">{{ i.user.first_name }}</a><br><br>
{% endfor %}
  • Вопрос задан
  • 163 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы