导入错误: 没有名为django_orm的模块。

3

当我从oauth2client.django_orm导入CredentialsField时,出现了以下问题:

Import Error: No module named django_orm

我已经安装了先决条件:django-ormpython-oauth2


你需要在你的帖子中放置跟踪/实际错误信息。 - Anil_M
你需要在settings.py中的INSTALLED_APPS里添加django_orm。 - Neeraj Kumar
3个回答

5

看起来OAuth2库发生了变化:

重构所有与Django相关的代码到oauth2client.contrib.django_util。添加DjangoORMStorage,删除FlowField。(#546)

你可以在这里检查。

也许你可以尝试像这样做(当我运行它时没有导入错误,但我不确定它是否有效):

from oauth2client.contrib.django_util.storage import DjangoORMStorage
from oauth2client.contrib.django_util.models import CredentialsField

只是一个更新,我现在已经尝试过了,它似乎工作得很好。我可以将凭据保存在CredentialsField上,并使用DjangoORMStorage检索它。 - Rodrigo

2
“Drive API指南”(Drive API Guide)的文档不是最新的(最后更新于2015年5月)。
请使用以下导入代替:
from oauth2client.contrib.django_orm import CredentialsField
from oauth2client.contrib.django_orm import FlowField
from oauth2client.contrib.django_orm import Storage

如果你正在遵循API指南,那么更多的导入将会出错。oauth2client的开发人员已经将所有非核心模块(django_orm,xsrfutil,appengine等)移动到contrib中。如果你收到更多的ImportError错误,请参考oauth2client源代码

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接