繁体   English   中英

在Django中获取request.user表单pre_save

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM