簡體   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