The pages given by the previous examples are not integrated into the Odoo website; we have no page footer, menu, and so on. The Odoo website addon module conveniently provides all these features so that we don't have to worry about them ourselves.
To use it, we should start by installing the website addon module in our work instance and then add it as a dependency to our module. The __manifest__.py key depends should look like this:
'depends': ['todo_stage', 'website'],
To use the website, we also need to modify the controller and the template.
The controller can have an additional website=True argument on the route:
@http.route('/hello', auth='public', website=True) def hello(self, **kwargs): return request.render('todo_website.hello')
This website=True parameter is not strictly required...