Django';是否每次都将未渲染的模板渲染到\u响应缓存或从磁盘加载?

Django';是否每次都将未渲染的模板渲染到\u响应缓存或从磁盘加载?,django,django-templates,Django,Django Templates,从磁盘获取模板要比从memcached之类的东西中提取模板慢得多,所以每次从磁盘加载模板都是浪费 Django是否将未渲染的模板缓存在内存或缓存\u后端,或者我必须自己实现吗?我似乎找不到文件系统加载程序可以缓存模板的任何地方。它看起来确实像是每次都在加载它们 不过,这可能不是一个真正的问题。首先,文件系统加载程序完全按照它所说的做,每次使用模板时,它都会从磁盘读取模板。一旦更改完成,它将始终拾取对磁盘模板的更改 如果不希望出现这种行为,则可能需要使用其他加载程序。事实上,这很容易做到;只需从d

从磁盘获取模板要比从memcached之类的东西中提取模板慢得多,所以每次从磁盘加载模板都是浪费


Django是否将未渲染的模板缓存在内存或
缓存\u后端
,或者我必须自己实现吗?

我似乎找不到文件系统加载程序可以缓存模板的任何地方。它看起来确实像是每次都在加载它们

不过,这可能不是一个真正的问题。首先,文件系统加载程序完全按照它所说的做,每次使用模板时,它都会从磁盘读取模板。一旦更改完成,它将始终拾取对磁盘模板的更改

如果不希望出现这种行为,则可能需要使用其他加载程序。事实上,这很容易做到;只需从
django.template.loader.filesystem.loader
中创建子类,重载
loade\u template
,即可享受


不过,我对缓存相当怀疑。如果我要实现这样的解决方案,我会确保缓存逐出经常发生。每10秒一次。

Django还附带了一个缓存。

您必须自己启用缓存。默认情况下,每次渲染模板时,都会从磁盘读取、解析和渲染模板

在Django中有许多实现缓存的方法。所有这些都在报告中描述


根据您试图实现的目标,您可以缓存整个请求或仅缓存模板块。阅读上面的页面了解详细信息。

我怀疑,如果每次都读取模板,那么它可能会在大部分时间停留在内核中。你不应该在这样的优化上投入任何时间,只要你没有证据证明这确实是一件影响性能的事情