我需要设置一个Django开发环境。
我做了git clone
并从我的本地计算机(启用Vagrant的VM)中生成了所有django项目文件。
问题是我的本地机器与项目的路径不同于我的生产(我无法改变),因此在本地机器上找到INSTALLED_APPS下的模块时遇到问题。
例如,在生产中,我的项目位于/myproject
文件夹上,而本地计算机上的项目位于/vagrant/web/myproject
下。
在制作中我正在访问我的app模块:
INSTALLED_APPS = ( 'myproject.myapp')
同样在Django应用程序中,我正在访问各种应用程序模块:
from myproject.myapp.models import *
我需要做什么来模拟我的开发盒上模块的生产路径,这样我就不必更改本地机器上模块的路径了?
答案 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
将成为根项目文件夹的路径