This is likely possibly by writing a dispatcher view that dispatches/redirects to dedicated views based on query/URL parameters. I have not looked into the particular part of my implementation, but within a brower view you can have either a rendering template associated through ZCML or by a configuration with the browser view Python class. The __call__() implementation has full access to the request and can instantiate a ViewPagetemplate with some arbitrary template based on URL parameters.