这就是我的代码
class InviteManager():
ALREADY_INVITED_MESSAGE = "You are already on our invite list"
INVITE_MESSAGE = "Thank you! we will be in touch soon"
@staticmethod
@missing_input_not_allowed
def invite(email):
try:
db.session.add(Invite(email))
db.session.commit()
except IntegrityError:
return ALREADY_INVITED_MESSAGE
return INVITE_MESSAGE
当我运行测试时,我明白了
NameError: global name 'INVITE_MESSAGE' is not defined
如何访问INVITE_MESSAGE
内部的@staticmethod
?
刚刚意识到,我需要
@classmethod
你可以看看here
您可以以
InviteManager.INVITE_MESSAGE
的形式访问它,但更清晰的解决方案是将静态方法更改为类方法:(或者,如果你的代码看起来很简单,你可以用一个模块中的一堆函数和常量替换整个类。模块是命名空间。)
尝试:
InviteManager
在它的静态方法的范围内。相关问题 更多 >
编程相关推荐