Bỏ qua để đến Nội dung
Menu
Câu hỏi này đã bị gắn cờ
6 Trả lời
12863 Lượt xem

I'm reading the tutorials to develop the academy module. I have this controller:


from openerp import http
class Academy(http.Controller):
    @http.route('/academy/', auth='public', website=True)
    def index(self):
        Teachers = http.request.env['academy.teachers']
        return http.request.render('academy.index', {
            'teachers': Teachers.search([]),
        })
 @http.route('/academy/<model("academy.teachers"):teacher>/', auth='public', website=True)
 def teacher(self, teacher):
  return http.request.render('academy.biography', {
   'person': teacher
  })


The first routing for list of teachers works just fine but when I call second one, I get the 404-Not Found error message. When I seperate two routings by putting them in seperate files, both of them work perfectly. I want to put both of them in one single file, Am I missing something here?

 

Ảnh đại diện
Huỷ bỏ

But the "Hello World" example appeared, earlier?

Tác giả

Yes, why?

Tác giả

You've got a problem with that?

Câu trả lời hay nhất

check whether the name of method u you defined your route above is different or same.

there must define different method name for different route.

Ảnh đại diện
Huỷ bỏ
Câu trả lời hay nhất

Try to visit the link: localhost:8069/academy/your_teacher's_name-1

Ảnh đại diện
Huỷ bỏ
Câu trả lời hay nhất

Indentation of second @http.route is not correct. After modification don't forget to restart odoo service.

Ảnh đại diện
Huỷ bỏ