Просмотр Django: Не удается импортировать модуль из другого каталога

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

основной проект/ Приложение 1/ Views.py Models.py .. Приложение 2/ Views.py Models.py ..

Python_code/
    Object_refresh/
        __init.py__
        refresh.py
        config.py

Внутри views.py У меня есть представление под названием "run_refresh", которое будет запускаться refesh.py из python_code. Но я сталкиваюсь с проблемой при попытке ссылаться на другие .py-файлы внутри Python_code.

В представлении, которое я использую: from python_code import * Но оно не может видеть main.py. Если я введу "from python_code import main", оно заработает, но тогда оно не сможет найти env_config.py.

Это то, что у меня есть в моем view.py:

from core_project.python_code.object_refresh import *

..

И это ошибка:


newfeature = asyncio.run(object_refresh.refresh(rows_to_refresh, schema, 'tbl_name'))
print(newfeature)


Error:
  newfeature = asyncio.run(object_refresh.refresh(rows_to_refresh, schema, 'tbl_name'))
                             ^^^^^^^^^^^^^^^^^^^
AttributeError: module 'core_project.python_code.object_refresh' has no attribute 'refresh'

Возможно, мне нужно настроить мой init.py определенным образом, но я не уверен. Буду признателен за любую помощь.

Вероятно, ваша проблема связана с тем, как вы импортируете модули внутри пакета.

Когда вы пишете:

from core_project.python_code.object_refresh import *

Вы импортируете только то, что определено в _init_.py, а не сами файлы, такие как refresh.py или config.py. Таким образом, refresh по умолчанию не отображается.

Чтобы исправить это, перейдите к файлу _init_.py в папке object_refresh/ и добавьте:

from . import refresh
from . import config
Вернуться на верх