我正在使用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>
答案 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')