Как получить ID пользователя - PullRequest
1 голос
/ 07 марта 2020

Я работаю над сайтом, используя Django. Мне трудно играть с кодами, как мне получить идентификатор пользователя без передачи первичного ключа (id, pk) в URL. Мой код ниже не дает мне решения для получения идентификатора конкретного пользователя. Когда я печатаю (пользователь), он печатает текущего пользователя, вошедшего в систему. Есть ли способ получить идентификатор других пользователей?

def home(request):
    p=Profile.object.filter(user=request.user)
    u=p.user
    send_request=FriendRequest.objects.filter(from_user=p.user)

def send_request(request, id):
    user=get_object_or_404(User, id=id) 
    frequest=FriendRequest.get_or_creat(from_user=request.user, to_user=user).first()

    path('home', home_view, name='home')

<a href='{% url 'site:send_request'  profile.user.id %}'>Add friend<a>

1 Ответ

1 голос
/ 07 марта 2020

Используйте форму с методом POST и отправьте user_id как параметр, но скрытый для пользователя.

<form method="post" action="{% url 'your_url' %}">
    {% csrf_token %}
    <input type="hidden" name="user_id" value="{{ user_id }}" />
    <button type="submit">Add Friend</button>
</form>

Доступ к параметру в представлении можно получить следующим образом

request.POST.get('user_id')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...