2010-03-07 43 views
3

我想知道django可重用應用程序中最好的導入策略是什麼。django應用程序中的導入策略

假設我有一個名爲usefulapp的應用程序。在我的應用程序中,我需要訪問模型。我應該使用一個明確的進口爲:

import usefulapp.models 

或簡單地說,因爲我是這個非常的應用程序裏面,我可以使用:

import models 

推薦哪一個?

使用第二種方法有缺點嗎?

回答

3

第二種方法假定.sys.path之前的任何其他目錄可能包含models模塊。根本沒有要求.,所以通過relative imports或通過應用程序導入是最好的。

3

我個人試圖保持從應用程序總是導入的慣例。

不要從項目導入,因爲項目名稱可以更改;你的應用程序可以用於其他項目(至少你應該製作這樣的應用程序)。

請勿直接從models導入,因爲正如Ignacio正確地提到的那樣,.不在Python路徑中。

但是,應用程序名稱始終在python路徑上。 Django將它們添加到列表頂部的python路徑(通過set_environ(settings)),因此您可以放心,正確的文件總是被拾取。