Context Processors¶
Template base Directory¶
There are probably more pages in your site that are not a blog or a post or otherwise related to wagtail. How do you use the same base template for all of them? And how do you switch the base template for those pages automatically when you switch the base template / theme for your site in wagtail?
The answer is to use a context processor. It will add two variables to the context of every template in your site:
cast_base_template
: the base template to use for the current themecast_site_template_base_dir
: the raw template base directory for the current theme holdingbootstrap4
orplain
for example
The cast_base_template
variable is the one you could use in
your local template to extend the base template:
{% extends cast_base_template %}
...
If you want to use this context processor, add it to your
settings.py
:
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
...
'cast.context_processors.site_template_base_dir',
],
},
},
]