@grsm

Импорт вьюшек из приложений в Django не виден в главном url. Можно ли как-то в settings добавить каталоги чтоб можно было импортировать просто?

Здравствуйте подскажите пожалуйста, в каталоге education/urls.py не получается заимпортить вьюшки из приложений main_page и tsample. Каталог проекта ниже. Все это дело развернуто в виртуальном окружении.
from main_page.views import MainView 
from tsample.views import TSampleView #типа вот эти строчки ошибочны показывает редактор кода и ругается runserver

urlpatterns = [
    path('admin/', admin.site.urls),
    # path('',include(('main_page.urls')))
    path('',(MainView.as_view())),
    path('tsample',(TSampleView.as_view())),
]

Удалось решить костылем через __init__.py в папке с настройками. Но редактор кода показывает все равно строчки с импортами как ошибочные, но проект работает.
unresolved import 'main_page.views'

import sys
sys.path.append('/home/user/Python/education') #костыль?

Можно ли как то красиво добавить пути для импорта например через settings.py?
Структура проекта.

├── db.sqlite3
├── education
│ ├── asgi.py
│ ├── __init__.py
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
├── main_page
│ ├── admin.py
│ ├── apps.py
│ ├── __init__.py
│ ├── migrations
│ │ └── __init__.py
│ ├── models.py
│ ├── tests.py
│ ├── urls.py
│ └── views.py
├── manage.py
├── static
│ └── logo.png
├── templates
│ ├── main_page.html
│ └── tsample.html
└── tsample
├── admin.py
├── apps.py
├── __init__.py
├── migrations
│ └── __init__.py
├── models.py
├── tests.py
└── views.py
  • Вопрос задан
  • 31 просмотр
Решения вопроса 1
@grsm Автор вопроса
Решил проблему.
Добавил в настройки VSCode Workspace -> settings.json
"python.envFile": "${workspaceFolder}/.env"
Создал файл .env в корне виртуального окружения
cat .env
PYTHONPATH="/home/user/Python/education"

А для деплоя, наверно, можно просто добавить куда-нибудь кастомный sys.path на сервере :)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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