Попытка относительного импорта за пределы пакета верхнего уровня - PullRequest
0 голосов
/ 31 марта 2020

Это структура моего приложения:

media
packsapp
-migrations
-templates
-templatetags
-views1
-__init__.py
-apps.py
-barcode.py
-decorators.py
-forms.py
-models.py
-urls.py
-views.py
pfep
-migrations
-templates
-__init__.py
-admin.py
-apps.py
-forms.py
-models.py
-pfep_views.py
-tests.py
-urls.py

У меня есть два приложения с именами packsapp и pfep, но когда я попытался импортировать decorators из packsapp в pfep следующим образом:

pfep_views.py

from ..packsapp.decorators import employee_required

Выдает следующую ошибку:

ValueError: попытка относительного импорта за пределы пакета верхнего уровня

Основной URLS.py выглядит так:

urlpatterns = [
    path('', include('packsapp.urls')),
    path('pfep/', include('pfep.urls')),
    path('admin/', admin.site.urls),

Почему я получаю вышеуказанную ошибку? Что-то не так с импортом?

1 Ответ

0 голосов
/ 31 марта 2020

Оба ваших приложения находятся на root вашего проекта. Вам нужно создать упаковочный пакет или добавить файл __init__.py в ваш проект root. Я бы порекомендовал первое.

media
project_name
-__init__.py
-packsapp
--migrations
-- ...
-pfep
--migrations
-- ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...