【问题标题】:How this Odoo website route will work此 Odoo 网站路线将如何运作
【发布时间】:2017-12-28 11:02:15
【问题描述】:

我正在学习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 中的任何一个,并且 blogtagpage 是变量,但是这个 model(blog.blog) 在这里的含义是什么?

【问题讨论】:

    标签: python routing openerp odoo-9


    【解决方案1】:

    它定义了你在 URL 中传递的值是模型 blog.blog 的记录。 前任。 你的网址是这样的..

    localhost:8069/blog/3
    

    然后在控制器中你会得到模型 blog.blog 的记录,它的 id = 3。

    【讨论】:

    • 如果 localhost:8069/blog/3 中的 3 不会记录相关模型怎么办。它会抛出任何错误吗?
    • 是的。它会抛出一个错误。因为找不到那个记录。所以,它将是 404。
    • 有用吗?
    猜你喜欢
    • 2022-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-21
    • 1970-01-01
    相关资源
    最近更新 更多