k44*_*k44 111 django django-models django-authentication
如何获取当前登录用户的ID?
在models.py:
class Game(models.model):
name = models.CharField(max_length=255)
owner = models.ForeignKey(User, related_name='game_user', verbose_name='Owner')
Run Code Online (Sandbox Code Playgroud)
在views.py:
gta = Game.objects.create(name="gta", owner=?)
Run Code Online (Sandbox Code Playgroud)
K Z*_*K Z 179
首先要确保你有SessionMiddleware和AuthenticationMiddleware中间件添加到您的MIDDLEWARE_CLASSES设置.
当前user是request对象,您可以通过以下方式获取:
def sample_view(request):
current_user = request.user
print current_user.id
Run Code Online (Sandbox Code Playgroud)
request.user将为您提供一个User表示当前登录用户的对象.如果用户当前未登录,request.user则将设置为实例AnonymousUser.您可以将它们区分开来is_authenticated,如下所示:
if request.user.is_authenticated:
# Do something for authenticated users.
else:
# Do something for anonymous users.
Run Code Online (Sandbox Code Playgroud)
假设您在您的视图中指的是Django的Auth用户:
def game(request):
user = request.user
gta = Game.objects.create(name="gta", owner=user)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
139466 次 |
| 最近记录: |