Django在基于类的视图中使用数据
我在Django中有一个基于类的视图。 我实现了一个获取上下文数据的方法。用户可以登录或更新其数据,并重定向到基于类的视图模板。Django在基于类的视图中使用数据,django,Django,我在Django中有一个基于类的视图。 我实现了一个获取上下文数据的方法。用户可以登录或更新其数据,并重定向到基于类的视图模板。 我希望在基于类的视图中显示登录用户的信息。我没有渲染视图,只是重新定向。如果用户使用authenticate/login方法登录,并且您已经按照您应该的方式加载了SessionMiddleware,是否有类似于在计算期间将数据保存在内存中或全局变量,以便可以在views.py.中的任何位置访问数据的方法,然后用户信息应该在您的请求中。user对象中 在基于类的视图对象
我希望在基于类的视图中显示登录用户的信息。我没有渲染视图,只是重新定向。如果用户使用
authenticate
/login
方法登录,并且您已经按照您应该的方式加载了SessionMiddleware
,是否有类似于在计算期间将数据保存在内存中或全局变量,以便可以在views.py.中的任何位置访问数据的方法,然后用户信息应该在您的请求中。user
对象中
在基于类的视图
对象中,您可以像这样读取请求
:
class SomeView(View):
def get(self, *args, **kwargs):
user = self.request.user
#recommended: check if the user is authenticated, ie, not anonymous.
if user.is_authenticated:
check_something(user) #do whatever you need.
在TemplateView
子类的情况下(我假设,因为您提到了get\u context\u data
)是相同的:
class SomeTemplateView(TemplateView):
def get_context_data(self, *args, **kwargs):
if self.request.user and self.request.user.is_authenticated:
#do something
Globals和其他东西在Django服务中不起作用,它可能在开发中起作用,但在生产中,用户的请求可能会被不同的python进程处理,它们之间不会共享内存