Ir al contenido
Menú
Se marcó esta pregunta
1 Responder
1976 Vistas

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>


Avatar
Descartar
Mejor respuesta

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"


Avatar
Descartar
Publicaciones relacionadas Respuestas Vistas Actividad
0
abr 21
5000
1
ago 22
2869
0
may 22
2523
1
abr 21
5073
0
feb 25
774