gpt4 book ai didi

python - 使用 Django 类 View 获取当前登录用户?

转载 作者:太空狗 更新时间:2023-10-29 19:33:21 26 4
gpt4 key购买 nike

我正在尝试获取当前登录的用户并显示在每个 View 的顶部。我到处都在搜索这个问题,但我找不到我的问题的直接答案。

我能够在表单 View 中获取它,但由于某种原因我无法在普通 View 中显示它。这让我发疯。

from django.http import HttpResponse, Http404
from django.views.generic import ListView, DetailView, FormView
from django.template import RequestContext, loader, Context
from django.core.urlresolvers import reverse
from boards.models import Links, LinksCreateForm, Category
from django.contrib.auth.models import User


def get_user(request):
current_user = request.get.user
return current_user


class LinksListView(ListView):
model = Links


class LinksDetailView(DetailView):
model = Links


class LinksCreateView(FormView):
template_name = 'boards/link_create.html'
form_class = LinksCreateForm

def form_valid(self, form):
name = form.cleaned_data['name']
description = form.cleaned_data['description']
user = self.request.user
category = Category.objects.get(id=form.cleaned_data['category'].id)
link = Links(name=name, description=description, user=user, category=category)
link.save()
self.success_url = '/boards/'

return super(LinksCreateView, self).form_valid(form)

最佳答案

在您的通用 View 实现中,您需要扩展 get_context_data

def get_context_data(self, **kwargs):
# Call the base implementation first to get a context
c = super(ReqListView, self).get_context_data(**kwargs)
user = self.request.user
return c

然后这取决于你的要求,你想用它做什么。

Extending generic view classes for common get_context_data

关于python - 使用 Django 类 View 获取当前登录用户?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14422651/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com