2016-04-18 6 views
0

Djangoのウェブサイトにはユーザ認証があります。そこにはカップルユーザだけがログインするため、かなりプライベートです。ユーザーがログインすると、複数のAPIシステムからデータを取得し、Webサイトに表示されます。私はデータベースを持っています。ここでは、各ユーザーIDごとに異なるAPIトークンとDjango認証用のユーザーアカウント用のデータベースがあります。これはデフォルトで作成されたDjangoシステムです。両方のデータベースのIDを取得する必要があるので、正しいAPIトークンを使用してAPIリクエストを作成できますか?ユーザ関連のデータを保存し、ユーザIDでアクセスする

+0

これらのAPIトークンは何ですか?なぜあなたは2つの異なるデータベースが必要だと思いますか? – e4c5

答えて

0

データベースの構成によって異なります。しかし、あなたはmanually select database for QuerySet with ".using()" methodです。そのセットアップに

:次に

DATABASES = { 
    'default': { 
     'NAME': 'main_db', # Here we store Users 
     'ENGINE': 'django.db.backends.sqlite3', 
    }, 
    'auth': { 
     'NAME': 'auth_db', # Here we store API tokens 
     'ENGINE': 'django.db.backends.sqlite3', 
    }, 

、あなたが使用できる指定された電子メールをユーザーのためのAPIトークンを取得する:

user = User.objects.using('default').get(email='[email protected]') 
token = ApiKey.objects.using('apikeys').get(user_id=user.id) 
+0

@AlexHallありがとう、 – svfat

+0

2番目のデータベースを作成せず、Djangoのデフォルトの管理者ページで作成されたユーザ情報がある同じデータベースにAPIトークンを入れたらどうなりますか?私はそれがどのようにできるかわからない。 – MMakela

関連する問題