千家信息网

Python odoo中嵌入html简单分页功能

发表于:2025-02-16 作者:千家信息网编辑
千家信息网最后更新 2025年02月16日,本篇内容介绍了"Python odoo中嵌入html简单分页功能"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够
千家信息网最后更新 2025年02月16日Python odoo中嵌入html简单分页功能

本篇内容介绍了"Python odoo中嵌入html简单分页功能"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

在odoo中,通过iframe嵌入 html,页面数据则通过controllers获取,使用jinja2模板传值渲染

html页面分页内容,这里写了判断逻辑

  • 首页
  • {% if current_page == 1 %} {% else %} {% endif %} {% if current_page == total_page %} {% else %} {% endif %}
  • 共{{total_page}}页
  • 第{{current_page}}页
  • 跳转
在,odoo的controllers中的逻辑
class CarBudgetReport(http.Controller):    @http.route('/car/budget/report/', auth='public')    def index(self, page=1, **kw):        data1 = request.env['lims.car.scheme'].get_first_budget()        total_page = int(len(data1) / 10) + 1        if page > total_page:            data = []        else:            data = data1[(page - 1) * 10: page * 10]        return env.get_template(HTML_FIEL_NAME).render({'data': data, 'current_page': page, 'total_page': total_page})

 CSS文件:

/* 分页功能的通用样式 */#ty_paging {  overflow: hidden;  display: block;  width: 100%;  margin-top: 20px;  text-align: center;  user-select: none;  -webkit-user-select: none;  -moz-user-select: none;  -ms-user-select: none;  font-size: 14px;  color: #000000;  background-color: #FFFFFF; }#ty_paging li {  display: inline-block;  height: 32px;  width: 32px;  line-height: 32px;  margin: 0px 5px;  padding: 0px;  border: 1px solid #ddd;  border-radius: 2px;  cursor: pointer;  vertical-align: top;  text-align: center; }#ty_paging .home,#ty_paging .jump {  width: 56px;  height: 32px; }#ty_paging .max {  width: 60px;  border: none; }#ty_paging .inputPage {  height: 32px;  width: 56px;  border: 1px solid #ddd;  border-radius: 2px;  text-align: center;  color: #000000; }

在后台xml中需要将路由设置默认为1