2010-04-14 118 views
1

我正在使用django來構建一個功能稍重的應用程序。因此,我的模板有點沉重(嵌套循環,如果條件等)。我注意到70%到80%的時間花在了我的觀點的render_to_response步驟上。 我還沒有發現任何指示在谷歌的django模板引擎周圍的性能問題。這裏的任何人都面臨類似的問題/任何建議來解決這個問題django,渲染響應花費很多時間

回答

2

有一點要記住的是QuerySet objects are lazy。除非你執行一個需要執行查詢的操作(循環,計數等),否則他們實際上不會直接訪問數據庫。

如果你在你的模板上下文中傳遞了一個QuerySet對象,那麼你的模板中的循環(或其他操作)通常會觸發數據庫調用。發生這種情況時,模板渲染對於數據庫I/O是「受到懲罰」的,但整體響應時間應該不受視圖中或模板渲染中是否發生影響。