- python/
- Python 对Web2Py中实现自定义错误页的质疑
Python 对Web2Py中实现自定义错误页的质疑
Python 对Web2Py中实现自定义错误页的质疑,python,web2py,Python,Web2py,我正在尝试为web2py中的自定义错误页面实现一个装饰器
根据海地的一个待办事项。参考号-
我试图将其作为模块保存在/modules目录中,以便
将其导入控制器并适当放置装饰器
我一直将错误处理装饰器作为
/模块/onerror.py
我像这样从控制器导入它,比如说(或.py)-
HTTP对象在onerror.py中不可用,所以我做了一个-
from gluon.http import *
但后来我重新认识到请求对象也不可用于
装饰师正在排队-
filename=os.path.join(r
我正在尝试为web2py中的自定义错误页面实现一个装饰器
根据海地的一个待办事项。参考号-
我试图将其作为模块保存在/modules目录中,以便
将其导入控制器并适当放置装饰器
我一直将错误处理装饰器作为
/模块/onerror.py
我像这样从控制器导入它,比如说(或.py)-
HTTP对象在onerror.py中不可用,所以我做了一个-
from gluon.http import *
但后来我重新认识到请求对象也不可用于
装饰师正在排队-
filename=os.path.join(request.folder,'views/errors/error%i.html'%status)
我有些怀疑-
/modules目录是保存这样一个可重用组件的好地方吗
/modules目录中的模块是否自动加载为
是否创建新的web2py实例?如果是这样,我如何才能在
控制器
有没有一种方法可以将请求对象从
我的控制器?欢迎提供提示
我当前的onerror.py-
我试图在控制器中使用的方式-
让我知道我是否在以不明显的方式进行操作。通过web2py用户邮件列表
您还可以使用:onerror=load_import('onerror')。onerror
HTTP对象在onerror.py中不可用,因此我执行了-
从glion.http导入*
python模块也是web2py中的普通python模块。他们只看到
python关键字,除非您导入它们。web2py有5个特殊对象
(请求、响应、会话、缓存、T)并且您的应用程序还有其他(db、,
auth,crud)。因为它们在每次请求时都被实例化,所以
无法由模块导入,它们必须显式传递给
模块中的函数。注意,虽然这很尴尬,但这是什么
其他框架要求始终为所有功能执行。web2py
为模型和控制器保存此选项
但后来我意识到请求对象也不可用于
装饰师,如以下所示:
filename=os.path.join(request.folder,'views/errors/error
%i、 html“%status”)
我有一些疑问-
1./modules目录中的模块是否自动加载为
是否创建新的web2py实例?如果是,我如何访问它们
不是。它们是普通的python模块。您必须导入它们才能使用
他们
有没有一种方法可以将请求对象从
我的控制器?欢迎提供提示李>
您需要一个元装饰器def meta_装饰(某物):
def实际_装饰器(f,something=something):
你想干什么就干什么
返回f()
return decorator@meta_decorator(request)def function_to_be_decordent():return dict()无论如何,您不需要这个
室内装修设计师查看routes.examples.py中的routes\u onerror。有
做你想做的事的简单方法
filename=os.path.join(request.folder,'views/errors/error%i.html'%status)