如何在OpenERP中扩展网页模块

2024-05-23 17:49:19 发布

您现在位置:Python中文网/ 问答频道 /正文

在web模块(addons/web)中,Openerp中存在所有路由(许多路由),例如:

  • /在
  • /网络
  • /web/登录

等等,但是我想扩展web模块来创建客户注册的其他方式(路由)。我创建了一个webaaa模块(用于测试),并在一个控制器中包含了这个模块(几乎所有从web/controllers复制的代码)/主.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”并查找/signup时,它可以正常工作。但是web模块的所有其他路由都返回404找不到(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模块,特别是his主.py控制器?在
  2. web模块是一个服务器级的模块,我在配置文件中更改了此选项,但我的web aaa模块没有启动。如何包含另一个服务器范围的模块?在

非常感谢!!在


Tags: 模块pathimportenvwebhttpjinja2路由
1条回答
网友
1楼 · 发布于 2024-05-23 17:49:19

你的超能力测试:

从web.controllers.main导入主页

类家庭_aaa(家庭):

http.route('/signup', type='http', auth="none")
def signup(self, **kw):
    return env.get_template("signup.html").render()

相关问题 更多 >