我有 2 个独立的控制器,我需要将一个控制器的功能导入另一个控制器。
比如我有a.py和b.py,在b.py中我试过:
import a
from applications.a.modules import a
import applications.a.modules.othermodule
在查看文档后,我似乎也无法工作:http ://web2py.com/book/default/chapter/04#Cooperation
如何将一个功能从一个控制器导入到另一个控制器?
我有 2 个独立的控制器,我需要将一个控制器的功能导入另一个控制器。
比如我有a.py和b.py,在b.py中我试过:
import a
from applications.a.modules import a
import applications.a.modules.othermodule
在查看文档后,我似乎也无法工作:http ://web2py.com/book/default/chapter/04#Cooperation
如何将一个功能从一个控制器导入到另一个控制器?
在 web2py 中,控制器并不意味着被视为 Python 模块并被导入到其他控制器中。从技术上讲,您可以这样做(确保目录__init__.py
中有一个文件/controllers
),但控制器文件是为了在 web2py 环境中按 HTTP 请求执行的。如果您从控制器导入函数,调用该函数可能无法正常工作,因为它可能会引用在导入上下文中不可用的 web2py 环境对象(例如,、、、模型文件中定义的对象)request
。session
如果您想在控制器之间共享功能,最好将共享功能移动到 Python 模块并将其导入每个需要它的控制器中。