2011-02-07 11 views
1

私はdjango-registrationを使用しています。私はこれで完全に迷っており、どこでエラーを探し始めるべきか分かりません。django-registrationはユーザーをアクティブにしますが、エラーを表示します

何が起こるかは、ユーザーがアクティベーションリンクをクリックするたびにactivation.htmlテンプレートが取得されることです。エラーが発生した場合にのみ表示する必要があります。

実際にはエラーはありません。ユーザーはアクティブになり、ログインできます。

これについてのご意見は大変ありがたいです。

答えて

1

まず、投稿の件名と実際の説明が矛盾しています。被験者は、django登録は常にユーザーのアクティブ化に失敗したと言いますが、あなたの説明では、ユーザーがアクティブになってログインできるとします。どちらですか?

第2に、アクティベーションリンクをクリックすると、常にユーザーをactivate.htmlに送信する必要があります。そのページにaccountという変数があります。アクティベーションが成功した場合、accountにはUserオブジェクトが、それ以外の場合はFalseになります。

+0

あなたが正しいです、私はタイトルを修正しました。しかし、私はあなたの答えが間違っていると思います。少なくともドキュメント:http://docs.b-list.org/django-registration/0.8/views.htmlによれば、「アクティベーションに失敗すると、テンプレート登録/ activate.htmlにエラーメッセージが表示されます。 this、引数template_nameを渡します(下記参照)。 – Kai

+0

確かに。ドキュメント: 'registration/activate.html:アカウントのアクティベーションが失敗した場合に使用されます。 ' –

+0

ああ、バージョン0.8を使用していますので、完全に書き直しました。私はまだ私の答えに基づいていた古いバージョンを使用しています。申し訳ありません。 –

1

0.7と0.8の間には大きな違いがあります:0.7で

へのユーザーの試みは彼/彼女のアカウントをアクティブにしたときに、登録/ activate.htmlが表示されます。アカウントのアクティベーションが失敗した場合に使用し

0.8

登録/ activate.htmlで

+0

それは誤解を招くものではありません!笑 –

+0

ああ、私は0.7のためのきれいにフォーマットされたオンラインドキュメントを見つけることができませんが、0.8はアルファにしかありません。 hrmph。 –

+0

0.7 for https://bitbucket.org/ubernostrum/django-registration/src/d073602dc103/docs/のドキュメント –

0

デバッグregistration.views.activate:success_urlが設定されていない場合、 backend.post_activation_redirectメソッドが呼び出されます。デフォルトのバックエンドを使用している場合は、テンプレートで照会されたアカウント変数がない空のコンテキストが返されます。 解決策は、デフォルトのバックエンドを上書きすることです。 唯一の問題は、リダイレクトを介してビューにオブジェクトを渡すことができないことです。したがって、アカウントをテンプレートコンテキストに渡すことはできません。あなたが望むなら、paramsを得ることでそれを行うことができます。 私は、アクティベーションテンプレートを変更して条件を削除することにしました。

関連する問題