Pyramid offers a beforeRenderer
from repoze.events import subscriber
from pyramid.events import BeforeRender
@subscriber(BeforeRender)
def add_global(event):
print event['renderer_name'] #this is the renderer name
print event['renderer_info'].name #same with event['renderer_name']
But not useful. If I change or delete the event['renderer_name'] and event['renderer_info'].name, it can also find the renderer(a template file) in config.
config.add_view('mywork.views.index.index',
route_name='/index',
renderer='mywork:templates/index.pt')
I want use the renderer's name in view.py or in root_factory to change the renderer value, so it can change all templates.