如何获得用户ID

时间:2020-03-07 12:03:05

标签: python django

我正在使用Django的网站上工作。我在玩代码时遇到了困难,如何在不通过URL传递主键(id,pk)的情况下获取用户ID。我下面的代码没有为我提供获取特定用户ID的解决方案。当我打印(用户)时,它会打印当前登录的用户。是否可以获取其他用户的ID?

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 个答案:

答案 0 :(得分:1)

使用带有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')
相关问题