跳至内容
菜单
此问题已终结
1 回复
2114 查看

Please could you help me resolve the problem of template not rendered for a controller - appended are the codes for the same :

from odoo import http

class Books(http.Controller):

@http.route("/library/books", auth='public')

def list(self, **kwargs):

Book = http.request.env["library.book"]

books = Book.search([])

return http.request.render(

"library.book_list_template",{'book': books}

)

<odoo>

<template id="book_list_template" name="Book List">

<div id="wrap" class="container">

<h1>Booksh1>

<t t-foreach="books" t-as="book">

<div class="row">

<span t-field="book.name" />,

<span t-field="book.date_published" />,

<span t-field="book.publisher_id" />

div>

t>

div>

template>

odoo>


形象
丢弃
最佳答案

here you are given an error because are passing 'book' and on XML side are you using for loop on books

correct this way here:

from odoo import http

class Books(http.Controller):

@http.route("/library/books", auth='public')
def list(self, **kwargs):
Book = http.request.env["library.book"]
books = Book.search([])
return http.request.render(
"library.book_list_template", {'books': books}
)

in XML side use:

t-foreach="books"t-as="book"


形象
丢弃
相关帖文 回复 查看 活动
0
4月 21
5129
1
8月 22
2978
0
5月 22
2660
1
4月 21
5266
0
2月 25
931