Starck43
@Starck43
Web разработчик (PHP, JS, WORDPRESS, SQL)

Как в Django задать путь приложению на уровень вверх относительно папки с проектом?

Подскажите, как сделать так, чтобы были доступны приложения, расположенные на одном уровне с проектом?
у меня вот такая структура:
library_project
├── library
│   ├── asgi.py
│   ├── __init__.py
│   ├── __pycache__
│   ├── settings.py
│   ├── urls.py
│   └── wsgi.py
├── manage.py
├── catalog
│   ├── admin.py
│   ├── apps.py
│   ├── __init__.py
│   ├── migrations
│   ├── models.py
│   ├── tests.py
│   └── views.py
└── venv
    ├── bin
    ├── include
    ├── lib
    ├── pyvenv.cfg
    └── share

Я пробовал в settings.py добавить строки
PROJECT_ROOT = os.path.dirname(__file__)
sys.path.insert(0, os.path.join(PROJECT_ROOT, '.'))


В INSTALLED_APPS = [....., 'catalog']

запускаю сайт 127.0.0.1:8000/catalog
Page not found

Что не так делаю?
  • Вопрос задан
  • 41 просмотр
Решения вопроса 1
Starck43
@Starck43 Автор вопроса
Web разработчик (PHP, JS, WORDPRESS, SQL)
Решил проблемку.
Я решил перенести приложение в папку apps и внес изменения в settings.py:
Оттолкнулся от существующей переменной BASE_DIR
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.insert(0, os.path.join(BASE_DIR, 'apps'))
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@bacon
Это не php же, файловая структура не эквивалентна веб-серверной, тут роутинг надо прописывать, пройдите туториал на официальном сайте.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы