可能是个愚蠢的问题,我在这里读过很多类似的帖子,但仍然无法理解答案:
在main.py中
from userMod import *
class Handler(webapp2.RequestHandler):
def write(self): #some code here etc
class signup(Handler):
def get(self): #some code here etc
我收到一条错误消息,指出Handler未定义。我简单而明显的愚蠢问题是如何从加载模块中的父脚本访问类?或者我只是需要在我创建的每个模块中复制Handler?
请记住,我对Python非常陌生,并试图通过拆分某些类型的函数(在这种情况下是我正在构建的站点的用户登录和注册组件)来使我的代码更加模块化。
答案 0 :(得分:1)
在usermod.py中,您需要导入main,而不是相反。
答案 1 :(得分:1)
如果没有看到你的代码,不能肯定地说,但在那个非常基本的片段中,你基本上已经反转了导入。 @ IgnacioVazquez-Abrams提供了一个链接,它将描述整个过程(并且肯定比我更好),但在基本层面上,每个模块都存在于自己的命名空间中,除非你告诉它,否则不知道其他模块他们。
所以在你的情况下,当你继承Handler
时,模块不知道Handler
是什么,因为它1.)不是内置的,而且2.)还没有进口。请在usermod.py
中尝试此操作:
import main
class signup(main.Handler):
def get(self): #some code here etc
并查看它是否符合您的要求。