2011-11-14 9 views
2

我需要設置一個Django開發環境。如何在開發環境中模擬我的Django項目的路徑與生產相同?

我做了一個git clone並從我的本地機器上啓動了生產的所有django項目文件(啓用了Vagrant的VM)。

問題是我的本地計算機與項目有不同的路徑(我無法更改),因此在本地計算機上查找INSTALLED_APPS下的模塊時遇到問題。

例如,在生產中,我的項目位於/myproject文件夾中,而在本地計算機上的項目位於/vagrant/web/myproject之下。

在生產,我訪問我的應用程序模塊,像這樣:

INSTALLED_APPS = ('myproject.myapp') 

而且Django的應用程序中,我訪問這樣的各種應用模塊:

from myproject.myapp.models import * 

我需要什麼要在我的開發盒上模擬生產路徑到我的模塊,所以我不必更改我的本地機器上模塊的路徑?

回答

4

如果你正在做的項目相對進口,所有你需要做的是確保直接位於項目上方的路徑位於PYTHONPATH上。

你只需要發出在命令行中執行以下操作:

export PYTHONPATH='/vagrant/web' 

如果您使用的virtualenv,您可以在命令行添加到環境中的bin /激活文件。

+0

我不得不去,並添加一個python路徑到生產env項目。所以krs建議不要使用硬編碼路徑。然後我必須在我的開發環境中也這樣做。 – avatar

1

在您的settings.py:

import os 
prj_root = os.path.realpath(os.path.dirname(__file__)) 

而且prj_root將路徑根項目文件夾

2

只要你在settings.py中沒有硬編碼的路徑,你使用的是什麼Web服務器,你的應用程序目錄的路徑應該不重要?

+0

我使用NGINX和FASTCGI。 – avatar

+0

這是沒有硬編碼路徑的好建議。謝謝! – avatar

相關問題