2009-10-27 90 views
1

我試圖導入sorl縮略圖到我的應用程序在django。現在我使用cPanel在CentOS 5上使用mod_wsgi創建站點的方式,應用程序的路徑在導入時必須具有項目名稱......這很痛苦。路徑不一致python django

顯然這是應用程序可移植性的一個關注原因。我正在導入sorl-thumbnail,在之前的應用程序中,我剛剛添加了sorl.thumbnail到已安裝的應用程序,並且它已經工作。

但是,現在它導致了問題,除非我在導入路徑前面有項目名稱www.。這從來沒有做過,我似乎無法解決路徑問題。

我也加了www.sorl.thumbnail,但文件中的其餘路徑有錯誤。關於如何補救或解決工作的任何想法?

回答

3

導入時不需要使用項目名稱 - 只需確保應用程序位於python路徑的某處。一些沿線的:

sys.path.append('/etc/django/domains/mydomain.com/myproject/') 

...在您的.wsgi文件中應該做到這一點(當然有自己的項目的路徑)。

理想情況下,可重複使用的應用程序應該在您的項目目錄之外,因此可以考慮創建一個文件夾,如'/ etc/django/lib /'來包含可重用的應用程序並將其附加到您的wsgi處理程序的sys.path中。或者,如果你不喜歡那樣,也許使用virtualenv並直接將你的可重用應用程序添加到網站包。或者,如果你不喜歡那樣,把你的可重用應用程序放在別的地方,並把它們符號鏈接到站點包或你的Python路徑上的某個地方。

總之,只要確保您要導入的軟件包/模塊位於您的Python路徑中。如果您發現自己將項目名稱或'www'添加到一組導入路徑中,那麼您可能做錯了什麼。

+0

非常好的解釋,你給我很好的選擇,讓我遵循...非常有用的信息,所以非常感謝花時間寫這個。 – 2009-10-27 09:22:33