网页和控制器
Odoo 还提供了一个 web 开发框架,可用于开发与后台应用深度集成的功能。第一步我们来创建一个显示有效图书列表的简单网页。在请求 http:///library/books 页面时会进行响应,所以/library/books 是用于实施的 URL。这里我们简短地了解下 Odoo 网页开发,这一话题在第十三章创建网站前端功能中会深入探讨。
Web 控制器是负责渲染网页的组件。控制器是 http.Controller 中定义的方法,与 URL 链接(endpoint)绑定。 访问 URL 时执行控制器代码,生成向用户展示的 HTML。我们使用 QWeb模板引擎方便 HTML 的渲染。
按惯例控制器代码放在/controllers 子目录中,首先编辑 library_app/__init__.py 导入控制器模块目录:
from . import models
from . import controllers
然后添加 library_app/controllers/__init__.py 文件来让目录可被 Python 导入,并在该文件中添加:
from . import main
接下来就要创建真实的控制器文件 library_app/controllers/main.py,并添加如下代码:
from odoo import http
class Books(http.Controller):
@http.route('/library/books', auth='user')
def list(self, **kwargs):
Book = http.request.env['library.book']
books = Book.search([])
return http.request.render(