Reputation: 371
I am trying to override index method in website module in odoo 11.
Following is my code
from odoo import http
from addons.website.controllers.main import Website
class Home(Website):
@http.route(['/', '/index', '/home'], type='http', website=True, auth='public')
def index(self, **kw):
super(Website, self).index(**kw)
return http.request.render('my_website.home')
I have created a new template in my_website named home. But when I go to http://localhost:8069 it is loading the standard odoo template for website with header and footer. When I go to either http://localhost:8069/index or http://localhost:8069/home it is throwing 404 error. It doesn't take my new template home.
I have referred this SO question How to change default page of odoo with other webcontroller odoo 9.0 but doesn't work.
Upvotes: 1
Views: 624
Reputation: 371
The issue is solved. You have to import from odoo.addons rather from addons.
from odoo.addons.web.controllers.main import Website
class MyHome(Website):
@http.route(['/', '/index', '/home'], type='http', website=True, auth='public')
def index(self, **kw):
return http.request.render('my_website.home')
Then use your template to render.
Upvotes: 1