0

複数のdjangoアプリ間でユーザーの資格情報を共有する必要があります。各アプリは完全に異なり、目的も異なりますが、ユーザーがいずれかのアプリを使用するには、一度登録するだけで済みます。

Postgresデータベースで複数のスキーマを定義することでこれを設定することができました。Webで見つけた限り、スキーマはDjangoで明示的にサポートされていませんが、アプリごとに異なる検索パスを定義するだけで(ほとんどの場合)機能するようになりました(各アプリは独自のユーザー名を使用してPostgresに接続します)。

私は次のスキーマを持っています(例として):

- auth
- app1    
- app2
- app3
- common

したがって、アプリのユーザーの検索パスは次のようになります。

app1, common, auth

django-registrationによって提供される登録機能を除いて、すべてが正常に機能しているようです。新しいユーザーを登録しようとすると、auth_userテーブルとregistration_registrationprofileテーブル(両方ともauthスキーマに存在します)に新しい行が作成されます。アクティベーションメールも送信されますが、アクティベーションリンクをクリックすると、「アカウントのアクティベーションに失敗しました」というメッセージが表示されます。他の情報はありません。

他の誰かがこれを見たことがあり、おそらくこのような設定でアクティベーションを機能させるための解決策がありますか?

4

1 に答える 1

0

ああ、アクティベーションが失敗した理由は、登録モジュールとは何の関係もありませんでした。アクティベーションメールのテンプレートには、本番サイトのアクティベーションURLが含まれており、ステージングサイトでテストしていました。(赤面)

于 2012-11-15T14:19:27.870 に答える