当前位置: 首页 > 面试题库 >

在Scrapy中访问Django模型

斜瑞
2023-03-14
问题内容

是否可以在Scrapy管道中访问django模型,以便将已抓取的数据直接保存到模型中?

我已经看到了,但是我真的不知道如何设置它吗?


问题答案:

如果还有其他人遇到相同的问题,这就是我解决的方法。

我将其添加到我的scrapy settings.py文件中:

def setup_django_env(path):
    import imp, os
    from django.core.management import setup_environ

    f, filename, desc = imp.find_module('settings', [path])
    project = imp.load_module('settings', f, filename, desc)       

    setup_environ(project)

setup_django_env('/path/to/django/project/')

注意:上面的路径是到你的django项目文件夹,而不是settings.py文件。

现在,你将可以在scrapy项目中完全访问django模型。



 类似资料:
  • 问题内容: 我有一个Scrapy项目,正在尝试将输出项保存为Django模型定义中的对象(我不使用DjangoItem)。 我正在按此处指定的方式导入Django设置。 在我的Scrapy项目中,我有一个管道类,该类最终处理所有项目并将其保存到数据库中: 但是,发生了一些奇怪的事情,对于第一个项目,我得到了一个错误(请参阅下文)。对于其余项目,一切都很好。假设我要保存7个项目,因此我在第一个保存错

  • 问题内容: 我在网上商店应用程序中有一个Orders模型,它具有一个自动递增的主键和一个自身的外键,因为可以将订单分为多个订单,但是必须保持与原始订单的关系。 我已经为管理站点注册了OrderAdmin类。对于详细视图,我已包含在属性中。当然,默认情况下,这会在选择框中列出所有订单,但这不是所需的行为。相反,对于没有父订单的订单(即未与其他订单拆分;为NULL /无)的订单不应该显示。对于已拆分的

  • 问题内容: 我想打印出每个选择获得的票数。我在模板中有以下代码: 只是一个字典,而只是一个模型对象。 该消息引发异常: 问题答案: 为了回应/扩展Jeff的评论,我认为你应该针对的只是Choice类中的一个属性,该属性计算与该对象关联的投票数: 然后在模板中,你可以执行以下操作: 模板标签,恕我直言,此解决方案有些过分,但这也不是一个糟糕的解决方案。Django中模板的目标是使你与模板中的代码隔离

  • 问题内容: 如果我在Django中设置会话变量,例如: 有什么方法可以从模板中访问它,还是必须从视图中检索它,然后将其传递给模板? 询问是因为我想在模板中访问大约10个小会话变量,然后将所有10个从视图传递到模板可能会有些混乱。 (我必须使用会话变量,因为它是HttpResponseRedirect,但是出于我的目的,将变量存储在数据库中是过大的。) 那么-有什么方法可以直接在模板中获取会话变量?

  • 问题内容: 我想爱Django,但是开发环境中的静态文件和媒体文件业务让我发疯。请把我从愚蠢中解救出来。 我在开发机器上。我的项目目录的根目录中有文件夹。 在settings.py我有:和。 在我有: 但是我获取媒体文件的唯一方法是通过引用/media/media/例如 。 我期望(并且想要) 谁能告诉我这里发生了什么,并给我一个设置媒体文件处理的简单方法吗? 非常感谢你。 但这留下了两个问题:

  • 问题内容: 我正在将字典从我的视图传递到模板。因此可以传入并循环遍历键,值对,但我还没有找到一种从特定键直接在视图中直接访问的优雅解决方案,例如bu json.items [“ key1”]。我可以使用一些if / then语句,但是我宁愿直接这样做也可以吗? 这是html模板中的循环代码: 问题答案: Django模板语言支持按以下方式查找字典键: 请参阅有关变量和查找的模板文档。 模板语言未提