这个 Odoo 网站路线将如何运作

How this Odoo website route will work

我正在学习Odoo 9的网站模块,想知道路由表达式的格式。我知道正则表达式,但无法完全理解。看看这个:-

class WebsiteBlog(http.Controller):
    _blog_post_per_page = 20
    _post_comment_per_page = 10

    # codes 

    @http.route([
        '/blog/<model("blog.blog"):blog>',
        '/blog/<model("blog.blog"):blog>/page/<int:page>',
        '/blog/<model("blog.blog"):blog>/tag/<string:tag>',
        '/blog/<model("blog.blog"):blog>/tag/<string:tag>/page/<int:page>',
    ], type='http', auth="public", website=True)
    def blog(self, blog=None, tag=None, page=1, **opt):
        print 123
        # etc

您可以在 Git: Website Blog Module

上找到此代码

我想看懂这些表达。我可以理解如果浏览器请求这四个 URL 中的任何一个并且 blog, tag 将执行此功能和 page 是变量,但是这里的 model(blog.blog) 是什么意思?

它定义你在URL中传递一个值是模型blog.blog的记录。 前任。 你的 url 像这样..

localhost:8069/blog/3

然后在控制器中,您将获得 id = 3 的模型 blog.blog 的记录。