Using nunjucks, how can I define some global variables that should always be available within all templates?
Ideally, they would be specified somewhere in the environment or config options and not have to be merged into the context dict with each call to nunjucksEnvironment.render
.
It might be also helpfull for someone. It is possible to avoid writing any js code when dealing with global variables in nunjucks.
You need to create a _globals.html file, which contains all the global variables.
Then include _globals.html to any page, where you need the global variable. E.g. somePage.html
For more info please check http://mozilla.github.io/nunjucks/templating.html#set
I was just looking for this and came here. Looks like there's now a recommended way which was added in recently in version 1.0.6.
See Environment.addGlobal.
It's not documented (or perhaps advised), but this works:
You can now use
someVar
in your templates.Be sure not to overwrite any of the existing properties of the
njglobals
object, though (fornunjucks@1.0.1
, they arerange
,cycler
andjoiner
).