Найти - Пользователи
Полная версия: Third apps in project
Начало » Django » Third apps in project
1
romankrv
Всем привет.

Тема следующая:

1) есть приложение (например) “debug_toolbar” в котором есть код: “import debug_toolbar.urls”

2) в корень проекта ложим каталог “debug_toolbar” – это для того что бы импорт проходил без ошибок.

3) Но для того что бы не ложить это (2) в корневой каталог нужно или установить приложение глобально в систему или через virtualenvwrapper и подобное, но если я не хочу устанавливать, а хочу положить в отдельный каталог проекта например пусть это будет каталог apps_third/debug_toolbar, то все сломаеться (в смысле (1) import debug_toolbar.urls).

Какие могут быть еще варианты решения, что бы не загромождать корневой каталог проекта, потому что подобных приложений может быть много, которые в своем коде имею код (1), который изменять не желательно.


(Вариант с симлинками не подходят)
Если нет вариантов то так и скажите :)

Спасибо.

ps
Надоело сваливать все в корень
slav0nic
ну и добавь в sys.path apps_third каталог
alafin
В settings.py пропиши следующее:

import os.path
import sys

PROJECT_ROOT = os.path.dirname(os.path.realpath(__file__))
sys.path.append(os.path.join(PROJECT_ROOT, 'apps'))
romankrv
Про вариант
slav0nic
ну и добавь в sys.path apps_third каталог
знаю, но он не работает если в системе глобально установлен пакет то есть например:
(кстати на на этом попался когда размещал проект на хостинге):

#pip install django-registration
a в INSTALLED_APPS написать:

'registration',


даже если в sys.path прописан мой локальный путь к апликухе в проекте. То есть стартует не апликуха проекта, а апликуха, установленная в системе. Конечно можно прописать в INSTALLED_APPS так: ‘apps.registration’ и все будет впорядке, но тогда смысл варианта с sys.path для данного случая нулевой.



Совет –>
lorien
Ещё можно virtualenv использовать.
не подходит так так в начале топика я исключил этот вариант
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB