Solved
通过web2py用户邮件列表。
您还可以使用:onerror=load_import('onerror').onerror
OnerRor.py中没有HTTP对象,所以我做了一个-
从gluon.http导入*
python模块也是web2py中的普通python模块。他们只看到
除非导入python关键字。web2py有5个特殊对象
(请求、响应、会话、缓存、T)和您的应用程序有其他(DB,
AUTH,CRUD)。因为它们在每次请求时都被实例化,
无法由模块导入,必须将它们显式传递给
模块中的功能。注意,虽然这很尴尬,但这就是
其他框架要求对所有函数都始终执行。Web2Py
为模型和控制器保存此项。
但后来我意识到请求对象也不可用于
装饰工-
文件名=os.path.join(request.folder,'views/errors/error
%i.html%状态)
我有些怀疑-
1。/modules目录中的模块是否自动作为
是否创建了新的web2py实例?如果是,我如何访问它们?
不,它们是普通的python模块。你必须导入它们才能使用
他们。
-
有没有方法可以将请求对象从
我的控制器?欢迎提供提示。
您需要一个元装饰器def meta_decoration(something):
def实际装饰器(f,something=something):
做任何你想做的事
返回f-()
将decorator@meta_decorator(request)def函数_返回到_be_ecorated():返回dict()无论如何,您不需要它
装饰者。查看routes.examples.py中的routes\onerror。有
做你想做的事的简单方法。