Application類如何通過debug參數實現auto-reload功能

來源:互聯網
上載者:User

標籤:style   blog   http   io   ar   color   os   sp   檔案   

代碼執行過程及分析:

  1. 我們在主函數執行個體化Application類的時候,傳入參數"debug=True"(在python中,諸如‘ **settings ‘的參數類型允許傳入帶參數名的參數,其實就是傳入dictionary)
    1 app = tornado.web.Application(2         handlers=[(r‘/‘, IndexHandler)],3         template_path=os.path.join(os.path.dirname(__file__), "templates"),4         static_path=os.path.join(os.path.dirname(__file__), "static"),5         debug=True6     )
  2. 執行個體化Application類的同時,將調用其建構函式,以下貼出與參數"debug=True"相關的代碼進行分析:
     1 if self.settings.get(‘debug‘): 2     self.settings.setdefault(‘autoreload‘, True) 3     self.settings.setdefault(‘compiled_template_cache‘, False) 4     self.settings.setdefault(‘static_hash_cache‘, False) 5     self.settings.setdefault(‘serve_traceback‘, True)

    由於傳入的debug值為True,將依次執行self.settings.get(‘debug‘)函數語句,此時設定‘autoreload‘的值為True, ‘compiled_template_cache‘的值為False, ‘static_hash_cache‘的值為False, ‘serve_traceback‘的值為True.

  3. autoreload模組實現自動重啟伺服器     autoreload被設定為“True”後, Application類的建構函式將繼續執行以下函數:
1  # Automatically reload modified modules2    if self.settings.get(‘autoreload‘):3        from tornado import autoreload4        autoreload.start()

         此時伺服器嘗試重新啟動

       4.

           

 

     綜上而言,在對Application類執行個體化的時候,傳入"debug=True"參數將實現代碼的動態解釋,每次當.py檔案內容改變時,Tornado都是自動重啟伺服器,而我們重新整理頁面後也能看到新的調試效果,無需自己頻繁地開啟伺服器。

     資料參考:http://www.tornadoweb.org/en/stable/web.html#tornado.web.Application

 

Application類如何通過debug參數實現auto-reload功能

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.