2014-11-03 28 views
0

我希望用户定义的函数在索引类POST函数内部使用。什么是在web.py中使用用户定义函数的正确方式

我试过使用自我。 someFunction()没有帮助。谁能告诉我什么是做

import web 
class index(): 
    def GET(self): 
     return 'hello' 

    def POST(self): 
     data = web.data() 
     sendmail(self) 

def sendmail(ind): 
     web.config.smtp_server = 'smtp.gmail.com' 
     web.config.smtp_port = 587 
     web.config.smtp_username = '' 
     web.config.smtp_password = '' 
     web.config.smtp_starttls = True 
     web.sendmail('sender','receiver', 'subject ','message') 

def main(): 
    ind = index() 
    app = web.application(URLS, globals()) 
    app.run() 

if __name__ == "__main__": 
    main() 

输出的正确方法:在8080端口上运行的Web服务器,但sendmail的()将不会发送任何邮件的收件人预期

+0

请尝试使也写你想要什么你的问题更清晰以实现下一次。 Serge和我给出了两个完全不同的问题的答案,我不能告诉我们谁对你说得对。 – Phillip 2014-11-03 07:03:26

+0

@菲利普 - 我已经更新了我的问题,我应该更清楚吗? – Zumbaa 2014-11-03 11:19:02

+0

是的。您应该尝试将您的问题简化为一个最小的工作示例。那要么是访问页面不起作用,要么是发送邮件不行。 (这里,它是发送邮件,我认为..) – Phillip 2014-11-03 11:41:37

回答

0

只能调用方法中定义的方法的语法为self.method()object.method()

如果你需要从一个方法调用一个简单的功能,让它了解对象,你可以这样做:

class index(): 

    def POST(self): 
     # ... 
     someFunction(self) 

def someFunction(ind): 
    'ind is an index object' 
    #... 
+0

def main():ind = index()app = web.application(URLS,globals()) app.run()。但仍然无法使用用户定义的功能。 – Zumbaa 2014-11-03 07:04:11

+0

@Zumbaa:*不起作用*没有帮助。描述会发生什么。 – 2014-11-03 07:09:19

+0

- 如何使用用户自定义函数在POST方法中使用内部邮件发送邮件 – Zumbaa 2014-11-03 07:16:58

相关问题