从Heroku中部署的Django项目导入模型

时间:2017-05-27 21:57:35

标签: python django heroku scrapy

我已经在两个项目中工作了一段时间。一个是Django项目,我有一个网络和我的所有逻辑(模型,算法等)。另一个是Scrapy项目。这个是负责收集存储在Django数据库中的新数据的那个。

当我在本地工作时没有任何问题,但现在我已经将这两个项目部署到两个不同的Heroku应用程序中,我开始遇到这个问题:

我的scrapy项目是以这种方式导入Django模型:在我的scrapy项目的settings.py中,我就是这样:

import sys
sys.path.insert(0, '/home/guillermo/Documents/project/django_project') #(2)

import os
os.environ['DJANGO_SETTINGS_MODULE'] = 'my_project.settings'

然后在我需要Django模型的文件中我这样做:

from base_project.models import New

其中New是我的应用程序“base_project”中的模型。

现在,我不知道把我的Django目录放在第(2)行的位置。

注意:导入Django模型非常有用,因为我可以使用Django提供的所有查询操作,当我保存或获取某些内容时,它会直接进入我的Django项目中配置的数据库。

1 个答案:

答案 0 :(得分:0)

我认为你需要让你的scrapy设置配置更通用。

以下设置适合我。

import os
import sys
import django

sys.path.append(os.path.join(os.path.dirname(os.path.dirname(os.path.abspath(__file__))), ".."))
os.environ['DJANGO_SETTINGS_MODULE'] = 'django_project.settings'

django.setup()

你可以进一步看看这个。

https://github.com/bipul21/scrapy_django/blob/master/scrapy_project/scrapy_project/settings.py

这是一个示例项目,我将django和scrapy捆绑在一起。