我在控制器中有一个名为default.py的文件,在同一目录下有一个getmsg.py文件,但我不能在default.py中导入getmsg。为什么不行?我该如何导入它?
错误:
Traceback (most recent call last):
File "F:\xampp\htdocs\web2py\gluon\restricted.py", line 212, in restricted
exec ccode in environment
File "F:/xampp/htdocs/web2py/applications/tools/controllers/default.py", line 11, in <module>
import getmsg
File "F:\xampp\htdocs\web2py\gluon\custom_import.py", line 81, in custom_importer
raise ImportError, 'Cannot import module %s' % str(e)
ImportError: Cannot import module 'getmsg'发布于 2013-03-13 10:02:19
在web2py中,控制器不是Python模块--您不需要导入它们。您可以将模块放在应用程序的/modules文件夹中,然后从那里导入。
从理论上讲(假设/controllers文件夹中有一个__init__.py文件),您可以这样做:
import applications.myapp.controllers.getmsg但这不会被视为标准做法。特别是,控制器并不打算用作常规的Python模块。它们是在已经定义了大部分web2py应用编程接口的环境中执行的,因此,如果将控制器作为模块导入,其代码可能会引用不可用的全局对象,这将生成异常。
发布于 2013-03-13 09:32:00
from getmsg import Classname, methodnamehttps://stackoverflow.com/questions/15375361
复制相似问题