ModuleNotFoundError, когда я пытаюсь импортировать модели в другую пользовательскую папку

#python #django

Вопрос:

Внутри приложения я создал папку «скребки», в которой есть два файла: __init__.py и asana.py . В asana.py Я пытаюсь импортировать модели, когда и я пытаюсь запустить asana.py импортированные модели, выдающие следующую ошибку ModuleNotFoundError ,

обновленный

В конце концов я не понял, почему я не могу запустить python asana.py и получить ошибку ModuleNotFound. Но я попробовал другой подход. импортированный Asana класс в tests.py.

tests.py

 from projects.scrapers.asana import Asana

URL = "https://app.asana.com/aprojecturl"
projects = Asana(URL, "23123123", "keyw")
projects.setProjectsIntoDatabase()
 

Так называется и запускает класс в tests.py значит, это сработало? Нет ошибки «модуль не найден»… Но все еще не понимаю, почему я не могу сделать python asana.py и получить ошибку «модуль не найден»?

Структура Django

 --- projects
    --- models.py 
    --- scrapers
        ---__init__.py
           asana.py
 

asana.py

 from projects.models import Project

class Asana:
  def __init__(self, url, team, keyword=None):
    self.url = url
    self.projectKeyWord = keyword
    self.team = team
    self.rawData = []
    self.projects = []

  def setAsanaData(self):
    res = requests.get(self.url, headers={"Authorization": "Bearer 0/"}).json()
    self.rawData = res["data"]

  def setProjects(self):
    if self.projectKeyWord:
      for project in self.rawData:
        if project["name"].startswith(self.projectKeyWord):
          project["team"] = self.team
          self.projects.append(project)

  def getProjects(self):
    self.setAsanaData()
    self.setProjects()
    return self.projects

  def setProjectsIntoDatabase(self):
    self.getProjects()
    for project in self.projects:
      defaults = {"name": project["name"]}
      Project.objects.update_or_create(pid=project["gid"], defaults=defaults)


URL = "https://app.asana.com/aprojecturl"
projects = Asana(URL, "23123123", "keyw")
projects.setProjectsIntoDatabase()
 

почему я не могу импортировать модели?

Комментарии:

1. Существует ли init.py внутри /projects ?

2. пробовать from ..models import Project

3. да, есть. @Danoram

4. извините, что не упомянул об этом, уже пробовал, но не работает. @RedCricket

5. вы работаете в pycharm??