📅  最后修改于: 2023-12-03 15:09:14.718000             🧑  作者: Mango
在 Django 中,通过丰富的 User 模型和内置的认证系统,我们可以轻松地获取用户 ID。本文将介绍三种获取用户 ID 的方法。
我们可以在登录视图中通过 request.user.id
获取已登录用户的 ID。
from django.contrib.auth.decorators import login_required
from django.shortcuts import render
@login_required
def my_view(request):
user_id = request.user.id
context = {'user_id': user_id}
return render(request, 'my_template.html', context)
在使用这种方法时,需要确保用户已经登录。若用户没有登录,则 request.user.id
将会返回 None 值。
我们也可以在视图中通过用户实例获取用户 ID。
from django.shortcuts import render
from django.contrib.auth.models import User
def my_view(request):
user = User.objects.get(username='username')
user_id = user.id
context = {'user_id': user_id}
return render(request, 'my_template.html', context)
这种方法需要先通过查询得到用户实例,再通过实例获取用户 ID。
在模板中添加下列代码,即可获取用户 ID。
{% if user.is_authenticated %}
<p>User ID: {{ user.id }}</p>
{% else %}
<p>User ID: None</p>
{% endif %}
这种方法需要注意的是,需要在模板中使用用户实例,因此需要在视图中传入用户实例的上下文。
以上三种方法均可以获取用户 ID,开发者可以根据自己的需求使用适合自己的方法。