Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Change cache key definitiion in environment
In 6671b97 the load_template method was altered to use a cache key other than the template name. The key chosen was the abs path as returned from the loader get_source method. Unless there is no path in which case the name is used. Unfortunately this introduced a performance regression, pallets#485, as the get_source method (in the FileStoreLoader) loads the template (causing IO). The purpose of pallets#332 was to allow the loader to change whilst ensuring the correct template was loaded, i.e. to fix this case env.loader = loader1 env.get_template('index.html') # return loader1/index.html env.loader = loader2 env.get_template('index.html') # also return loader1/index.html because of cache This commit changes the cache key to be a combination of a hash of the loader and the template name. Therefore fixing the above case without calling the get_source method and thereby avoiding the IO load.
- Loading branch information