Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在Scrapy my项目的items.py中添加Django_app.models_Python_Django_Scrapy - Fatal编程技术网

Python 如何在Scrapy my项目的items.py中添加Django_app.models

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 |

我的文件结构,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
        | 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导入服务中心


希望这对您有所帮助

这是否回答了您的问题?