在Web模块(addons / web)中存在Openerp中的所有路由(其中很多),例如:
等。但我想扩展Web模块以创建客户端注册的其他方式(路由)。我创建了一个模块web_aaa(用于测试),在控制器中我包含了这个(几乎所有从web / controllers / main.py类主页复制的代码):
# -*- coding: utf-8 -*-
import logging
import jinja2
import simplejson
import os
import sys
import openerp
from openerp import http
from openerp.http import request, serialize_exception as _serialize_exception
_logger = logging.getLogger(__name__)
if hasattr(sys, 'frozen'):
path = os.path.realpath(os.path.join(os.path.dirname(__file__), '..', 'views'))
loader = jinja2.FileSystemLoader(path)
else:
loader = jinja2.PackageLoader('openerp.addons.web', "views")
env = jinja2.Environment(loader=loader, autoescape=True)
env.filters["json"] = simplejson.dumps
class Home_aaa(http.Controller):
#This is a new route
@http.route('/signup', type='http', auth="none")
def signup(self, **kw):
return env.get_template("signup.html").render()
然后,当我启动服务器时 " - 加载web_aaa" 并查找/注册它可以正常工作。 但是网络模块的所有其他路线返回404 Not Found(无werkzeug:192.168.56.1 - - [10 / Nov / 2014 19:00:44]" GET / web / HTTP / 1.1" 404 - )。
当我启动服务器时没有&#34; - 加载web_aaa&#34; Web模块的所有路由都很好,但 web_aaa路由不是。< / p>
我的问题是:
非常感谢!!
答案 0 :(得分:-1)
你的不能测试:
来自web.controllers.main import Home
class Home_aaa(Home):
http.route('/signup', type='http', auth="none")
def signup(self, **kw):
return env.get_template("signup.html").render()