控制器中的odoo自动生成模型表单

控制器中的odoo自动生成模型表单,odoo,odoo-8,odoo-view,odoo-website,Odoo,Odoo 8,Odoo View,Odoo Website,我来自PythonDjango框架世界,我想知道在odoo控制器中是否可以像Django那样呈现模型形式。例如: class PartnerController(http.Controller): @http.route('partner/create') def create_form(self, **kw): model = request.registry['res.partner'] form = auto generate htm

我来自PythonDjango框架世界,我想知道在odoo控制器中是否可以像Django那样呈现模型形式。例如:

class PartnerController(http.Controller):
     @http.route('partner/create')
     def create_form(self, **kw):
         model = request.registry['res.partner']
         form = auto generate html form view for the model
         return form
或者可以通过控制器自动显示网站上已有的
ir.ui.view

其思想是重用已经定义的视图,或者不每次都重写每个模型的视图

我已经知道关于网站建设者,但我想要的东西,将很容易添加到一个模块

在odoo8/9中是否已经有人做过类似的事情

提前感谢。

Odoo控制器可以查询数据,然后使用该数据呈现模板。 这是通过以下方式实现的:

return request.website.render("<XMLId-for-my-QWeb-view", {<data dict>})
然后,数据字典在要呈现的QWeb模板中可用。 在本例中,使用的模板为


请注意,您需要使用QWeb视图。AFAIK常规表单和列表视图不能出现在网站前端。

hi@daniel关于django中“可重用模型表单”的查询,据我所知,在odoo中不可能,odoo没有适用于所有模型的通用表单模板,你怎么看?QWeb模板可以使用其他模板,例如,使用
t-call
指令。因此,我想说,有一个等效的功能可用。感谢@Daniel提供的示例。如果我做得好的话。在odoo中,我只能创建不同的视图,这些视图可以通过“t-call”在其他视图中重用,对吗?是否可以让odoo自动为我生成表单?正如我所理解的,我可以调用现有的一个。如果我们可以在后端执行类似于
request.website.render(“template\u name”、“model\u name”)
的操作,这将是一个非常好的功能,它可以用于表单和列表/树视图。在网站前端,它没有。
    # Render page
    return request.website.render("website_hr_recruitment.index", {
        'jobs': jobs,
        'countries': countries,
        'departments': departments,
        'offices': offices,
        'country_id': country,
        'department_id': department,
        'office_id': office_id,
    })