0

default.py在控制器中有一个文件名,并且在同一目录中有一个文件getmsg.py,但我无法导入getmsg. default.py为什么不?我将如何导入它?

错误:

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'
4

2 回答 2

0
from getmsg import Classname, methodname
于 2013-03-13T01:31:59.530 回答
0

在 web2py 中,控制器不是 Python 模块——你不需要导入它们。您可以将模块放在应用程序的 /modules 文件夹中并从那里导入。

理论上,(假设__init__.py/controllers 文件夹中有一个文件)你可以这样做:

import applications.myapp.controllers.getmsg

但这不会被视为标准做法。特别是,控制器不打算用作常规 Python 模块。它们在已经定义了大部分 web2py API 的环境中执行,因此如果您将控制器作为模块导入,其代码可能会引用不可用的全局对象,这将产生异常。

于 2013-03-13T02:02:18.940 回答