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