如何在我的开发环境中模拟我的Django项目的路径与生产相同?

时间:2011-11-14 16:53:21

标签: django django-settings

我需要设置一个Django开发环境。

我做了git clone并从我的本地计算机(启用Vagrant的VM)中生成了所有django项目文件。

问题是我的本地机器与项目的路径不同于我的生产(我无法改变),因此在本地机器上找到INSTALLED_APPS下的模块时遇到问题。

例如,在生产中,我的项目位于/myproject文件夹上,而本地计算机上的项目位于/vagrant/web/myproject下。

在制作中我正在访问我的app模块:

INSTALLED_APPS = ( 'myproject.myapp')

同样在Django应用程序中,我正在访问各种应用程序模块:

from myproject.myapp.models import *

我需要做什么来模拟我的开发盒上模块的生产路径,这样我就不必更改本地机器上模块的路径了?

3 个答案:

答案 0 :(得分:4)

如果您正在进行项目相关导入,那么您需要做的就是确保项目正上方的路径位于PYTHONPATH上。

您只需在命令行中发出以下命令:

export PYTHONPATH='/vagrant/web'

如果您使用的是virtualenv,则可以将该行添加到环境的bin / activate文件中。

答案 1 :(得分:2)

只要您在settings.py中没有硬编码路径,您使用的是什么Web服务器,应用程序目录的路径就不重要了?

答案 2 :(得分:1)

在你的settings.py中:

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

prj_root将成为根项目文件夹的路径