Python 如何在Scrapy my项目的items.py中添加Django_app.models
我的文件结构,django文件夹(mysite)和scrapy文件夹(intex)都在同一个目录中Python 如何在Scrapy my项目的items.py中添加Django_app.models,python,django,scrapy,Python,Django,Scrapy,我的文件结构,django文件夹(mysite)和scrapy文件夹(intex)都在同一个目录中 | mysite (django folder) | mysite | settings.py | urls.py | polls | admin.py | models.py | db.sqlite3 | manage.py | intex (scrapy folder) | intex | spider |
| mysite (django folder)
| mysite
| settings.py
| urls.py
| polls
| admin.py
| models.py
| db.sqlite3
| manage.py
| intex (scrapy folder)
| intex
| spider
| spiders.py
| items.py
这是我的models.py文件:
from django.db import models
class ServiceCenters(models.Model):
brand_name = models.CharField(max_length=50,blank=True,default='')
service_centre_city = models.CharField(max_length=50,blank=True,default='')
import scrapy
from scrapy_djangoitem import DjangoItem
from scrapy.item import Item, Field
from polls.models import ServiceCenters
class IntexItem(DjangoItem):
django_model = ServiceCenters
这是我的items.py文件:
from django.db import models
class ServiceCenters(models.Model):
brand_name = models.CharField(max_length=50,blank=True,default='')
service_centre_city = models.CharField(max_length=50,blank=True,default='')
import scrapy
from scrapy_djangoitem import DjangoItem
from scrapy.item import Item, Field
from polls.models import ServiceCenters
class IntexItem(DjangoItem):
django_model = ServiceCenters
我想在运行此代码时将数据保存到django服务器scrapy crawl_name
我得到了这个错误:
from polls.models import ServiceCenters
ImportError: No module named polls.models
您需要告诉python在哪里可以找到polls.models模块。首先,您需要将包含django应用程序的文件夹添加到PYTHONPATH,其次,配置django以便能够访问您的模型 这是实现此目的的代码段:
import os
import sys
import django
sys.path.append('...absolute path to mysite...')
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'mysite.settings')
django.setup()
在导入模型之前,我的意思是,在以下行之前,需要运行此代码:
来自polls.models导入服务中心
希望这对您有所帮助这是否回答了您的问题?