Использование моделей в цикле для доступа к данным - PullRequest
0 голосов
/ 22 января 2020

Я использую Python (w / Django) с BeautifulSoup, чтобы очистить несколько веб-сайтов. Я хочу использовать список веб-сайтов в БД, которую я настроил с помощью моего Django приложения, для l oop через некоторые веб-сайты и получить некоторую информацию

У меня есть файл "Веб-страницы" с "моделями". ру». Это все работает, и я настроил сайт просто для отображения списка веб-страниц в БД

. Затем я добавил файл "Scrape.py" и могу успешно выполнить простую очистку, перейдя на Git Bash и запуск "py scrape.py"

Однако я хочу l oop через сайты в моей БД. Для этого я подумал, что сначала мне нужно будет сделать это, а затем использовать его для извлечения данных

from .webpages.models import Webpage

Но прежде чем добавлять какой-либо дополнительный код, я получаю сообщение об ошибке «ImportError: попытка относительного импорта без известного родительского пакета "

Я также пытался

from webpages.models import Webpage

Но затем я получаю ошибку" ModuleNotFoundError: Нет модуля с именем 'webpages' "

Я искал в Интернете и нашел это руководство , и последовало, но не такая удача. Как руководство, он просит вас поместить следующий код в файл

 print('__file__={0:<35} | __name__={1:<20} | __package__={2:<20}'.format(__file__,__name__,str(__package__)))

... и становится понятно, в чем проблема - когда я запускаю скрипт, появляются большие пробелы, где должна быть информация о пакет, к которому принадлежит модуль Независимо от того, что я делаю, я не могу получить эту информацию для регистрации

Мои файлы структурированы как таковые

 project
 ├── webpages
     ├── models.py
 └── scrapes
     ├── scrape.py

Я пытаюсь выполнить выше через Git Bash, но также добавил -m, но все равно не повезло

1 Ответ

1 голос
/ 22 января 2020

Это не работает, потому что вы не инициализируете Django перед использованием моделей в вашем скрипте. Лучший способ сделать это - использовать django команды. Документы: https://docs.djangoproject.com/en/3.0/howto/custom-management-commands/#module - django .core.management

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...