ImportError:无法导入名称social_auth_usersocialauth:通过shell访问django中的Python社交身份验证数据

时间:2016-11-10 20:59:27

标签: python django sqlite shell

我正在从twitter获取登录数据。在我的sqlite数据库中,以下是表:

sqlite> .tables
auth_group                  django_content_type       
auth_group_permissions      django_migrations         
auth_permission             django_session            
auth_user                   social_auth_association   
auth_user_groups            social_auth_code          
auth_user_user_permissions  social_auth_nonce         
django_admin_log            social_auth_usersocialauth

我的数据已保存到social_auth_usersocialauth表格中。使用sqlite3 shell查询表格给我从网站上获取的数据。

1|twitter|xx|1|{"access_token": {"oauth_token_secret": "xx", "oauth_token": "xx", "x_auth_expires": "0", "user_id": "xx", "screen_name": "xx"}, "id": xx}

现在我想在我的模板中显示oauth_token_secretoauth_token

我正在尝试从django shell运行以下查询以检查我是否可以获取数据。由于我的应用名称为social.apps.django_app.default,因此我运行了以下代码:

>>> from social.apps.django_app.default.models import social_auth_usersocialauth

但它正在给予

Traceback (most recent call last):
File "<console>", line 1, in <module>
ImportError: cannot import name social_auth_usersocialauth

尝试使用另一个名称twitter,这是我的应用名称,我也有同样的事情。

2 个答案:

答案 0 :(得分:0)

模型导入肯定存在问题

models.py文件中的模型是?如果是这样你写的匹配?发布models.py文件和文件夹结构。

应用名称实际上是social.apps.django_app ...

通常,django项目的结构是

项目名称 - 应用程序名称 --- models.py - 应用程序名称 ...

然后是django shell中的引用 来自appname.models import modelname

然后Django将命名数据库表 Appname_modelname

答案 1 :(得分:0)

@lerner:您必须正确导入表名。尝试在python shell中运行此import语句

from social.apps.django_app.default.models import UserSocialAuth

希望您现在可以通过查询此表来访问您的表内容。