2012-09-09 16 views
0

當使用django中間件時,爲每個新訪問者創建一個新的會話記錄或會話文件。除了大流量部分不需要會話的網站之外,這是很好的例子(例如:許多人看到但只有一個人寫的博客)。是否有可能讓會話中間件僅針對某些URL激活如此多的I/O會被保存嗎?如何根據需要啓動django會話?

回答

1

這實際上並非如此。會話是懶洋洋地創建的,所以只有當數據放入會話中時纔會創建新記錄。看看這裏:

https://github.com/django/django/blob/master/django/contrib/sessions/middleware.py#L27

+0

是你的權利,我終於發現,我的中間件使用intialize會話與每個請求一個空列表。我會修復... – Eric

+0

不正確,如果您檢查會話(request.session.get('lang','en')),會話對象也會創建。 – inoks