2016-11-10 9 views
0

twitterからログインしています。ImportError:名前をインポートできませんsocial_auth_usersocialauth:シェル経由でdjangoのPythonソーシャル認証データにアクセス

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テーブルに保存されます。私のSQLiteデータベースでは、以下の表です。 sqlite3シェルを使用してテーブルをクエリ私は私がウェブサイトからフェッチしたデータを与える。

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シェルから次のクエリを実行しようとしています。私のアプリ名がsocial.apps.django_app.defaultあるので、私は次のコードを実行:

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

をしかし、それは私のアプリ名で別の名前、twitterを、しようと

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

を与えている、私は同じことを得ました。

答えて

0

モデルのインポートで問題

は間違いなくありますがmodels.pyファイル中のモデルですか?もしあなたが書いたことが一致すれば? models.pyファイルとフォルダ構造を投稿してください。アプリ名 --- models.py - - アプリ名

は、アプリ名が実際にsocial.apps.django_app ...

通常、Djangoプロジェクトは、このように

プロジェクト名 構成されているです...ジャンゴシェルで

参照がa​​ppname.modelsから がインポートしているモデル名

ジャンゴデータベーステーブルの名前を付けます。 Appname_modelname

+0

モデルは 'models.py'にありません。それはPythonの社会的な認証のために自動的にダウンロードされます。 – learner

+0

これは...からでなければなりません。import UserSocialAuth models.pyソースについてはこちらを参照してください。https://github.com/omab/python-social-auth/blob/master/social/apps/django_app/default/models.py – pypypy

0

@lerner:テーブル名を正しくインポートする必要があります。あなたのPythonシェルでこのimport文を実行しようとしてください。

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

この表を照会すると、テーブルの内容にアクセスできるようになりました。

関連する問題