【发布时间】:2020-11-01 11:29:46
【问题描述】:
我正在尝试使用模型将数据从网站下载到数据库。我的项目结构:
-backdjango
-app[folder]
-__pycache__[folder]
-templates[folder]
-__init__.py
-settings.py
-urls.py
-views.py
-wsgi.py
-drivers[folder]
-__pycache__[folder]
-management[folder]
-commands[folder]
-create_drivers.py
-migrations[folder]
-__init__.py
-admin.py
-apps.pyc
-models.py
-tests.py
-views.py
-node_modules[folder]
-static[folder]
-venv[folder]
-.babelrc
-.eslintrc.js
-db.sqlite3
-manage.py
-package-lock.json
-package.json
-Pipfile
-Pipfile.lock
-webpack.common.js
-webpack.dev.js
-webpack.prod.js
-yarn.lock
我正在使用 Django、Beautiful Soup 和 WebPack。我已经从this repo 下载了现成的配置。在 drivers->models.py 我有一个模型:
from django.db import models
# Create your models here.
class Driver(models.Model):
name=models.CharField(max_length=150)
在 app->settings.py 中,我添加了已安装的应用程序“驱动程序”。我的问题在驱动程序->管理->命令->create_driver.py:
import re
import requests
from bs4 import BeautifulSoup
from django.apps import apps
import os
os.environ['DJANGO_SETTINGS_MODULE'] = 'backdjango.settings'
from drivers.models import Driver
from django.core.management.base import BaseCommand, CommandError
class Command(BaseCommand):
def handle(self, *args, **options):
self.save_to_db(name)
def getDriver(self):
r=requests.get(
"http://www/formula1.com/en/drivers/lewis-hamilton.html")
soup= BeautifulSoup(r.text, "html.parser")
name= soup.find("h1",**{"class":"driver-name"}).contents[0]
print(name)
return Driver(name=name)
def save_to_db(self,name):
Driver.objects.name.save()
符合from drivers.models import Driver我有消息Unable to import 'drivers.models'pylint(import-error)
我已尝试通过多种方式解决此问题,但在 Internet 上找不到任何帮助。
【问题讨论】:
-
看起来您的
drivers文件夹嵌套在另一个应用程序文件夹app中?您可以尝试像这样导入:from app.drivers.models import Driver
标签: python django django-models beautifulsoup