我开始学习odoo,我来自PHP背景。所以在调试PHP框架时,我知道通过查看网址来调用控制器和方法(http://host/ {controller} / {method} / {parameter})
我不知道我在Odoo中如何工作(http://host:8069/web?db= {db} #page = {page}& limit = 80& view_type = {view_type}& model = {model}& ; action = {action_id})。也有一段时间(http://host:8069/web?db= {db}#view_type = kanban& model = {model}& menu_id = {menu_id}& action = 176)
有人可以指导我它是如何运作的,只有高水平。
真的很感激。
谢谢, 中号
答案 0 :(得分:0)
你问了一个非常真实的问题:
正如你在php中所说,我们在制作路线和控制器时遵循这种模式:
http://host/ {controller} / {method} / {parameter}
。
制作此类模式的主要目标是为唯一URI 每个资源。
在odoo中,没有关于将控制器/方法放置在URL路径中的重新启动。
odoo给你自由/力量来制定路线,正如你所知,力量总是伴随着责任, 所以开发商有责任确保没有两条路线相互冲突。
同时网址也应该是SEO友好。
在我们的团队中,我们通常会使用模块/模型/方法。
例如: 我有A:
academy
_name='academy.teacher'
] _name='academy.student'
] _name='academy.course'
] /academy/teachers
/academy/teacher
/academy/teacher/create
/academy/students
/academy/student
/academy/courses
/academy/course
让我们来一个实例:
用于显示订单 /shop/cart
@http.route(['/shop/cart'], type='http', auth="public", methods=['POST'], website=True)
def cart(self, product_id, add_qty=1, set_qty=0, **kw):
pass
用于更新订单 /shop/cart/update
:
@http.route(['/shop/cart/update'], type='http', auth="public", methods=['POST'], website=True)
def cart_update(self, product_id, add_qty=1, set_qty=0, **kw):
pass
如果您要为其创建json请求处理程序type='json'
购物车更新 /shop/cart/update_json
@http.route(['/shop/cart/update_json'], type='json', auth="public", methods=['POST'], website=True)
def cart_update_json(self, product_id, line_id=None, add_qty=None, set_qty=None, display=True):
pass
如你所说,你是一个更新鲜的人,我也会建议你几个有用的链接:
希望这可以帮助您低估ODOO的URL模式。