4

Pinax のサインアップと「アカウント」に関するドキュメントへの適切なリンクを知っている人はいますか? Django / Pinax でサインアップ プロセスを実装する方法を考え出そうとしています。Django の User および Profile クラスと Pinax の Account クラスの間を移動しようとしています。

私たちにとっての主な問題は、アカウントを要求する時点で回答する必要があるいくつかの追加の質問を含むサインアップ フォームがあることです。アカウントを有効にする前に、管理者がメンバーシップを承認する必要があります。その時点で、これらの追加の質問に対する回答がユーザーのプロファイルに保存されます。

私は 2 つの競合するアプローチの間で引き裂かれています。

1) リクエスト時に User および Profile オブジェクトを作成します。ただし、承認されるまで何らかの方法で「保留中」としてフラグを立てます。

2) 承認までこれらの値を一時的に保存するために、ある種の代替モデル クラスを作成します。その時点で、User オブジェクトと Profile オブジェクトを作成し、それらに情報をコピーします。

私は Pinax サインアップ コードから、これらのアプローチのどれが Pinax の最も「粒度の高い」ものであるかを推測しようとしていますが、明確ではありません。

つまり、経験豊富な Django/Pinax 開発者です。これらのうち、より「ピンナクティック」な方法はどれですか?

4

2 に答える 2

2

(1) には 2 つのバリエーションがあります。(a) User のアクティブ フラグに依存するだけです。(b) 非正規化し、参加を避けるためにプロフィールに同様のフラグを立てている。

アプローチ (1) の主な課題は、プロファイルを取得するときはいつでも、このフラグに基づいてプロファイルをフィルター処理する必要があることです。もちろん、ログインしたユーザーだけが見るアカウントなどの問題ではありません。しかし、プロファイルの場合、それは少し面倒かもしれません.

(2) にはその問題はありません。その場合、一時プロファイル モデルとメイン プロファイル モデルの両方で共有される抽象基本モデルを使用することで、冗長性を回避できます。

結論として、個人的には(2)に傾いていますが、明確な「ピンナクティック」な方法はないと思います。

于 2009-08-09T22:52:37.663 に答える
0

ほとんどのドキュメントは、 http: //pinaxproject.com/docs/dev/またはhttp://code.pinaxproject.com/wiki/またはコード ベースにあります。

最近、彼らは安定版リリースに向けて作業しているため、コードの作業を増やし、ドキュメントの作業を減らしているようです。そのため、これらのドキュメントは最新ではありません。

とはいえ、Pinax には、電子メール アドレスが検証されるまでアカウントのアクティブ化を遅らせるメカニズムが既にあります (アプローチ #1)。関連する設定は ACCOUNT_REQUIRED_EMAIL と ACCOUNT_EMAIL_VERIFICATION であるため、コードベースを検索すると、それらがどのように/どこで使用されているかが明らかになります (追加の質問に使用するために拡張できる場合があります)。

これは、各ユーザーに「アクティブ」フラグ (Admin のユーザー オブジェクトを確認してください) を与えることで達成されると思います。このフラグは、電子メール アドレスを確認するまで True に設定されません。これを手動で 1 回設定し、その特定のユーザーでログインできないことを漠然と覚えているので、これをテストする必要があります。

于 2009-08-09T22:49:51.257 に答える