[英]Getting the request.user form pre_save in Django
我有一个全局pre_save
信号,需要在其中获取当前登录的用户,即request.user
。
我尝试了以下似乎有效的方法 ,但这似乎是一个坏主意...
@receiver(pre_save)
def my_handler(sender, **kwargs):
import inspect
for frame_record in inspect.stack():
if frame_record[3] == 'get_response':
request = frame_record[0].f_locals['request']
break
else:
request = None
print(request.user) <--- correct user is given
以上是否存在任何潜在问题? 有没有更好的方法来实现这一目标?
使用Python 3.4和Django 1.8.4
我认为中间件将是更好的解决方案。 检查此项目以了解django-cuser的想法。
顺便说一句 检查堆栈以获取请求是如何滥用python仍然解决问题的出色示例:)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.