Отображение профиля авторизованного пользователя
Вы получаете объект Profile
для авторизованного пользователя с:
from django.shortcuts import get_object_or_404
@login_required
def profile_detail(request):
context = {
'profile': <b>get_object_or_404(Profile, user=request.user)</b>
}
return render(request, 'users/user_detail.html', context)
Отображение профиля автора
Если вы хотите показать профиль author
, то вам следует передать его по URL. Таким образом, вы можете создать в своем шаблоне path
, который будет выглядеть следующим образом:
urlpatterns = [
# …,
path('profile/<b><int:pk></b>', views.profile_detail, name='user_detail')
# …,
]
, вы можете отобразить URL с помощью:
<a class="mr-2" href="{% url 'user_detail' pk=post.author.pk %}">{{ post.author }}</a>
, а затем в представлении вы можете использовать первичный ключ этого пользователя:
from django.shortcuts import get_object_or_404
@login_required
def profile_detail(request<b>, pk</b>):
context = {
'profile': <b>get_object_or_404(Profile<b>, pk=pk</b>)</b>
}
return render(request, 'users/user_detail.html', context)