コンテンツへスキップ
メニュー
この質問にフラグが付けられました
2 返信
4819 ビュー

odoo 10

I'm new in this... I'm having problem to render to my page created on controller

I'm having this error

View 'products.index' in website 1 not found

template.xml

<odoo>
<template id="index_assets_frontend_view">
<t t-foreach="product" t-as="products">
<strong><t t-esc="product.id" /></strong>
<b><t t-esc="product.name" /></b>
</t>
</template>
</odoo>

controller.py

cimport logging
from openerp import SUPERUSER_ID
from openerp import http
from openerp.http import request
from openerp import models, api

class website_qty(http.Controller):

@http.route(['/productos'], auth="public")
def index(self, **post):
arr = []
products = request.env['product.product']
arr = products.search([])
print arr
# return request.render('website.layout',{'products':products.search([])})
return request.render('products.index')
アバター
破棄
最善の回答

You have some errors in your code.

View:

You want to loop (foreach) over all the products, with the name of each product as product.
See changes is bold:

<odoo>
<template id="index">
<t t-foreach="products" t-as="product">
<strong><t t-esc="product.id" /></strong>
<b><t t-esc="product.name" /></b>
</t>
</template>
</odoo>

Controller:

- You have to request the template with its full ID. 
- You don't have to import models and api. Just request the env with http.

Try : (Substitute "nameOfYourModule" with the actual name of your module ;) )

from openerp import http
class website_qty(http.Controller)      @http.route('/productos/', auth='public')
     def index(self, **kw):
        Products = http.request.env['product.product']         return http.request.render('nameOfYourModule.index', {
            'products': Products.search([])
        })
アバター
破棄
著作者

thank u so much

著作者 最善の回答

 

アバター
破棄
関連投稿 返信 ビュー 活動
0
2月 23
3390
1
3月 19
3403
3
4月 25
2004
2
1月 25
3116
4
6月 24
7650