2016-06-18 96 views
0

的絕對路徑I設置在設置靜態路徑字典作爲這樣的:龍捲風:靜態處理

settings = { 
       "static_path": "static", 
       # rest of settings 
      } 

我需要在應用程序中的靜態路徑,所以我使用:

self.application.settings["static_path"] 

但是,這並不能提供目錄的絕對路徑。有沒有辦法獲得這個目錄的絕對路徑而不使用os庫?

回答

2

您可以使用classmethod StaticFileHandler.get_absolute_path。這是推薦的方法,因爲它在StaticFileHandler中全部使用,並且可以被覆蓋以改變與文件系統的交互。儘管如此,默認實現僅僅是os.path.abspath

+0

謝謝kwarunek我不得不說我真的不明白這種方法。它接受根和路徑,並提到根是設置中設置的static_path。但是你仍然需要傳遞這個變量。傳遞變量並將其作爲可選參數傳遞的意義何在?我目前使用os.getcwd() –

+0

這個方法是**類方法**,它沒有處理程序對象的應用程序的上下文,因此它需要'root',實際上在內部'StaticFileHandler'對象傳遞給這個方法相同'application.settings ['static_path']'。 – kwarunek

+0

是的,它只是意識到這是一個classmethod確定這很酷!謝了哥們!! –