我是Odoo 8的新手,我正在尝试用动态表创建网站(使用ul和li),
我不知道如何从数据库中检索数据,
任何人都可以帮我解决这个问题吗?
init .py:
import controller
import books
开瓶器的.py
{
'name': 'Book',
'version': '1.0',
'category': 'Tools',
'summary': 'Test Book',
'description': "",
'depends' : ['base'],
'data' : ['views/book.xml'],
'images': [],
'qweb':[],
'installable' : True,
'application': True,
}
controllerA.py:
import openerp.http as http
from openerp.http import request
class Book(http.Controller):
@http.route('/page/getjson/', auth='public')
def index(self, **kw):
Books = http.request.env['x_book.book']
return http.request.render('book.index', {
'books': Books.search([])
})
books.py(型号):
from openerp import models, fields
class books(models.Model):
_name = "x_book.book"
name = fields.Char(size=32, string="x_name")
desc = fields.Char(size=32, string="x_desc")
book.xml:
<?xml version="1.0" encoding="UTF-8"?>
<openerp>
<data>
<template id="index">
<title>Academy</title>
<ul>
<t t-foreach="books" t-as="book">
<li><t t-esc="book.name"/></li>
</t>
</ul>
</template>
</data>
</openerp>
当我点击此网址http://localhost:8069/page/getjson
时收到此错误消息内部服务器错误
服务器遇到内部错误,无法完成您的请求。服务器过载或应用程序出错。
答案 0 :(得分:1)
从building a website howto中提取,假设您有一个控制器查询ORM并在名为academy.teachers
的变量中返回teachers
的记录集
class Academy(http.Controller):
@http.route('/academy/academy/', auth='public')
def index(self, **kw):
Teachers = http.request.env['academy.teachers']
return http.request.render('academy.index', {
'teachers': Teachers.search([])
})
您可以使用
创建列表 <template id="index">
<title>Academy</title>
<ul>
<t t-foreach="teachers" t-as="teacher">
<li><t t-esc="teacher.name"/></li>
</t>
</ul>
</template>
答案 1 :(得分:0)
您可以尝试此代码: 可能是它的工作。
from openerp.addons.web import http
from openerp.addons.web.http import request
class Book(http.Controller):
@http.route('/page/getjson/', type='http', auth='public', website=True)
def index(self, **kw):
Books = request.env['x_book.book']
return request.render('book.index', {
'books': Books.search([])
})