0
所以我有這個網站(Django的1.8),其中有一個主模板,其中的登錄用戶顯示的,所以模板包含Django的緩存和用戶名
{% if user.is_active %}
{% trans 'Welcome,' %}{% filter force_escape %}{% firstof user.first_name user.username %}{% endfilter %}
{%ENDIF%}
名稱所以注意它只在用戶處於活動狀態時顯示。我現在設置緩存,我使用Redis的作爲緩存存儲:
CACHES = {
'default': {
'BACKEND': 'django_redis.cache.RedisCache',
'LOCATION': 'redis://redis:6379/1',
'OPTIONS': {
'CLIENT_CLASS': 'django_redis.client.DefaultClient',
},
"KEY_PREFIX": "mycache",
}
}
緩存正常工作,但我注意到,也即用戶名在前端緩存。這意味着當用戶註銷時,他的姓名仍然可以看到,如他已登錄,甚至更糟糕,有時會顯示剛剛登錄並觸發緩存的另一個用戶的姓名。當然,我認爲緩存框架會緩存整個頁面。
我的問題是:你如何處理這個問題?我需要某種基於用戶的緩存嗎?還是有更好的方法來避免這種情況?我的意思是,一定有其他人遇到同樣的問題?
啊,這看起來正是我需要的。不知怎的,我錯過了。由於沒有足夠的聲譽而無法贊成,但認爲它已完成。我會測試這個,看看它是否有效。 – mke21