0

Web モジュール (アドオン/Web) には、Openerp のすべてのルート (それらの多く) が存在します。次に例を示します。

  • /
  • /ウェブ
  • /ウェブ/ログイン

など。ただし、Web モジュールを拡張して、クライアント登録の他の方法 (ルート) を作成したいと考えています。モジュール web_aaa (テスト用) を作成し、コントローラーにこれを含めます (web/controllers/main.py クラス Home からコピーされたほとんどすべてのコード):

# -*- 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()

次に、「--load web_aaa」を使用してサーバーを起動し、 /signup を検索すると、正常に動作します。しかし、Web モジュールの他のすべてのルートは 404 Not Found (None werkzeug: 192.168.56.1 - - [10/Nov/2014 19:00:44] "GET /web/ HTTP/1.1" 404 -) を返します。

また、「--load web_aaa」なしでサーバーを起動すると、Web モジュールのすべてのルートは正常に機能しますが、 web_aaa ルートは機能しません。

私の質問は次のとおりです。

  1. 新しいルートを作成するモジュールを作成したり、Web モジュール、具体的には main.py コントローラーを拡張したりするにはどうすればよいですか?
  2. Web モジュールは server_wide_module です。設定ファイルでこのオプションを変更しましたが、web_aaa モジュールが起動しません。別のサーバー全体のモジュールを含めるにはどうすればよいですか?

どうもありがとう!!

4

1 に答える 1