Как приручить расположение сторонних вкладов в Джанго - PullRequest
1 голос
/ 21 августа 2009

У меня есть проект django, который выложен так ...

  • MyProject
    • приложения
    • СМИ
    • Шаблоны
    • Джанго
    • регистрация
    • sorl
    • typogrify

Я бы хотел изменить это на это ...

  • MyProject
    • приложения
    • СМИ
    • Шаблоны
    • сайт-Deps
      • Джанго
      • регистрация
      • sorl
      • typogrify

Когда я пытаюсь это сделать, «зависимости от сайта» все ломаются. Есть ли способ реализовать эту структуру? Я без радости пытался добавить сайт-депо в PYTHONPATH ...

Ответы [ 4 ]

1 голос
/ 09 ноября 2009

PYTHONPATH выполняет поиск в порядке перечисления путей

PythonPath "[ '/myproject', '/myproject/site-deps' ] + sys.path"

не совпадает с

PythonPath "[ '/myproject/site-deps', '/myproject' ] + sys.path"

Прежний заказ не удался; возможно, потому, что он полагает, что уже посмотрел на сайты и нет смысла искать снова.

Последний порядок работает.

0 голосов
/ 21 августа 2009

Как вы импортируете пакеты в зависимости от сайта?

Немного не по теме на ваш вопрос, но мне никогда не нравился макет проекта по умолчанию для Django, поэтому у меня есть скрипт, который излагает мои проекты так:

myproject/
    apps/

    vendor/
    vendor/django/

    config/__init__.py
    config/urls.py
    config/settings/
    config/settings/__init__.py
    config/settings/base.py
    config/settings/hostname.py

    templates/
    media/

    script/manage.py

Включенный файл manage.py настроен для добавления конфигурации, приложений и поставщика к пути Python (сам myproject отсутствует в пути Python) и для импорта config / settings / hostname.py в качестве модуля настроек (где имя хоста будет быть фактическим именем хоста компьютера). Любые сторонние приложения идут от поставщика (например, сам django), а приложения для этого проекта - в каталоге приложений.

Это немного необычно, но мне нравится настройка.

0 голосов
/ 21 августа 2009

Убедитесь, что в зависимости от сайта, django, registration, sorl и typogrify есть файлы __init__.py.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...