Как я могу эмулировать пути к моему проекту Django в моей среде разработки, чтобы они совпадали с производством? - PullRequest
2 голосов
/ 14 ноября 2011

Мне нужно настроить среду разработки Django.

Я сделал git clone и вытащил все файлы проекта django из производства на моей локальной машине (виртуальная машина с поддержкой Vagrant ).

Проблема в том, что мой локальный компьютер имеет путь к проекту, отличный от моего производства (и я не могу это изменить), поэтому возникают проблемы с поиском модулей, указанных в INSTALLED_APPS, на моем локальном компьютере.

Например, на производстве мой проект находится в папке /myproject, а на моей локальной машине - /vagrant/web/myproject.

В процессе производства я получаю доступ к своим модулям приложений следующим образом:

INSTALLED_APPS = ( 'myproject.myapp')

Также в приложениях Django я обращаюсь к различным модулям приложений, таким как:

from myproject.myapp.models import *

Что мне нужно сделать, чтобы эмулировать производственные пути к моим модулям на моем компьютере разработчика, чтобы мне не приходилось менять пути к модулям на моей локальной машине?

Ответы [ 3 ]

4 голосов
/ 14 ноября 2011

Если вы делаете относительный импорт проекта, все, что вам нужно сделать, это убедиться, что путь непосредственно над вашим проектом находится на PYTHONPATH.

. Вам нужно только выполнить следующее в командной строке:

export PYTHONPATH='/vagrant/web'

Если вы используете virtualenv, вы можете добавить эту строку в файл bin / активации вашей среды.

2 голосов
/ 15 ноября 2011

Путь к каталогу вашего приложения не должен иметь значения, если у вас нет жестко заданных путей в settings.py, какой веб-сервер вы используете?

1 голос
/ 14 ноября 2011

В твоих настройках.py:

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

И prj_root будет путь к вашей корневой папке проекта

...