1 回答

TA貢獻(xiàn)1802條經(jīng)驗 獲得超5個贊
# First method
@http.route('/test', type='json' auth='user', website=True)
def object(self, **kw):
return http.request.render('template.name', {
'value': kw.get('value', 0),
})
# Second method
@http.route('/test', type='json' auth='user', website=True)
def object(self, **kw):
return request.env['ir.ui.view'].render_template('template.name', {
'value': kw.get('value', 0),
})
它們之間有什么區(qū)別嗎?同樣出于某種原因,它在從 JavaScript 調(diào)用它并使用type='json'. 它僅在我使用type='http'并直接從瀏覽器轉(zhuǎn)到那里時呈現(xiàn) - 我需要一個 JS 事件來導(dǎo)致重新呈現(xiàn)。
我還看到可以像這樣從 JavaScript 渲染模板:
_onChange: function () {
console.log("something changed!");
return this._rpc({
route: '/test',
params: {
value: 1,
}
}).then(function (data) {
this.$el.html(QWeb.render('template.name', {
value: data.value
}));
});
},
但由于某種原因,我得到了錯誤Template 'template.name' not found。
我在這一點上非??ㄗ?,不知道下一步該怎么做。我可以向控制器發(fā)送數(shù)據(jù),也可以從控制器發(fā)送數(shù)據(jù)。但我不知道如何更新 QWeb 上的變量。請幫忙。
添加回答
舉報