簡體   English   中英

上下文處理器('AnonymousUser' 對象不可迭代)

[英]Context processor ('AnonymousUser' object is not iterable)

在我的上下文 processor.py 文件中,我根據用戶過濾了一個表。 這一切正常:

def subject_renderer(request):
    return {"Calicount": Tools_Calibrated.objects.filter(
        user=request.user, calibrated=True, issued=True).count(),
    }

當我注銷並嘗試重新登錄時,問題就出現了。因為登錄時沒有經過身份驗證的用戶,所以我無法在上下文處理器中調用查詢。

問題:當我沒有調用登錄視圖模板中的鍵時,為什么會調用我的上下文處理器函數。 我知道如何用模板解決這個問題,但我想知道如何用上下文處理器來解決它。 從一種觀點基本上省略它。

先感謝您

用戶可能未登錄,因此在這種情況下您無法通過Calicount

因此,您應該使用以下方法實現您的上下文處理器:

def subject_renderer(request):
    if request.user.is_authenticated:
        return {
            'Calicount': Tools_Calibrated.objects.filter(user=request.user, calibrated=True, issued=True).count()
        }
    return {}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM