#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??