【问题标题】:Importing models from deployed Django project in Heroku从 Heroku 中已部署的 Django 项目导入模型
【发布时间】:2017-05-27 21:57:35
【问题描述】:

我从事两个项目已经有一段时间了。一个是一个 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”中的一个模型。

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

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

【问题讨论】:

  • 我推荐一个 REST 服务

标签: python django heroku scrapy


【解决方案1】:

我认为您需要使您的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 捆绑在一起。

【讨论】:

  • 你能解释一下它是如何工作的吗?我看不出它如何与一个heroku repo 中的一个项目和另一个heroku repo 中的另一个项目一起工作。
猜你喜欢
  • 1970-01-01
  • 2016-01-11
  • 2020-10-24
  • 2015-09-29
  • 2017-12-09
  • 1970-01-01
  • 2016-10-24
  • 2015-09-15
  • 2013-09-30
相关资源
最近更新 更多