Skip to Content
เมนู
คุณต้องลงทะเบียนเพื่อโต้ตอบกับคอมมูนิตี้
คำถามนี้ถูกตั้งค่าสถานะ
1 ตอบกลับ
2153 มุมมอง

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"


อวตาร
ละทิ้ง
Related Posts ตอบกลับ มุมมอง กิจกรรม
0
เม.ย. 21
5181
1
ส.ค. 22
3029
0
พ.ค. 22
2711
Controller inheritance แก้ไขแล้ว
1
เม.ย. 21
5315
0
ก.พ. 25
988