📅  最后修改于: 2023-12-03 15:14:44.509000             🧑  作者: Mango
在 Django 中,我们可以轻松地获取当前登录用户的信息,只需使用 request.user
即可访问当前用户的信息。
在表单中,如果我们需要获取当前用户的信息,可以通过以下步骤实现:
以下是示例代码实现上述步骤:
# views.py
from django.shortcuts import render
from django.http import HttpResponse
def my_view(request):
user_id = request.user.id
# 向表单传递当前用户的 ID
return render(request, 'my_form.html', {'user_id': user_id})
# my_form.html
<form method="POST">
{% csrf_token %}
<!-- 定义一个隐藏字段存储当前用户的 ID -->
<input type="hidden" name="user_id" value="{{ user_id }}">
<!-- 其他表单字段 -->
<input type="text" name="name" placeholder="名称">
<input type="email" name="email" placeholder="电子邮件">
<button type="submit">提交</button>
</form>
# views.py
from django.shortcuts import render
from django.http import HttpResponse
def my_view(request):
if request.method == 'POST':
user_id = request.POST.get('user_id')
# 根据 user_id 获取当前用户对象
current_user = User.objects.get(id=user_id)
# 其他表单字段的处理
name = request.POST.get('name')
email = request.POST.get('email')
# 处理完成后返回结果
return HttpResponse('表单数据已提交')
else:
return HttpResponse('请填写表单')
以上示例代码实现了表单中获取当前用户的 ID,并且在表单提交时根据 ID 获取用户对象。需要注意的是,这里的 User
是 Django 默认的用户模型,如果你使用了自定义的用户模型,请将其替换为对应的模型。