2013-03-13 65 views
0

我在控制器中有一個文件名default.py,並且在同一目錄下有一個文件getmsg.py,但我不能在default.py中導入getmsg。爲什麼不?我將如何導入它?web2py如何在同一目錄下導入模塊?

錯誤:

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' 

回答

0

在web2py中,控制器不Python模塊 - 你不導入。您可以將模塊放入應用程序的/ modules文件夾並從那裏導入。

從理論上講,(假設有一個__init__.py文件在/控制器的文件夾),你可以這樣做:

import applications.myapp.controllers.getmsg 

但不會被認爲是標準的做法。特別是,控制器不能用作常規的Python模塊。它們是在已經定義了大部分web2py API的環境中執行的,所以如果將控制器作爲模塊導入,其代碼可能會引用不可用的全局對象,這會導致異常。

+0

謝謝,這是幫助 – user2149071 2013-03-13 03:14:30

0
from getmsg import Classname, methodname 
+0

我這樣做了,但它報告錯誤 – user2149071 2013-03-13 01:33:32

相關問題