2014-11-03 27 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

相關問題