2012-04-19 1 views
0

ユーザが正常に登録した後にリダイレクト( 'registration_complete'、()、{})を呼び出すdjango-registrationを利用するDjango 1.4プロジェクトがあります。これはhttp://127.0.0.1:8000/で動作するdjango開発サーバでうまく動作します。django-registrationでのredirect()呼び出しの問題

私のステージングサイトは、Apacheサーバー上のルート以外の場所にあります。何かのようなhttp://example.com/mysite。したがって、ユーザーがそこに登録すると、django-registrationリダイレクト呼び出しがURLを正しくリバースしないため、ページが見つかりませんでした。サイトルート(mysite /)から離れます。

私はこれを修正する方法を決定しようとしています。ここに私が検討しているものがあります:

1)カスタムワークフロー登録バックエンドを作成して、登録ワークフローを別々に処理します。

2)リダイレクトを異なる方法で処理するためにdjango-registrationのデフォルトバックエンドにパッチを当てます。

3)?

これを修正するにはどうすればよいですか?

+0

私が痛感させているリダイレクトの例は、このdjango登録ビューコードの190行目です:https://bitbucket.org/ubernostrum/django-registration/src/27bccd108cde/registration/views .py – Erik

+1

URLは他の場所で解決しますか? Djangoは通常、サブディレクトリでうまく動作しませんので、別々のサブドメインでプロジェクトを実行する方がよいでしょう。 – ilvar

+0

すべての私の逆引きコール( 'urlname')はmysite接頭辞を残します。これは常に私にとってのポイントです。ステージング環境にサブドメインを使用することは、私が考慮しなかった素晴らしいアイデアです。 – Erik

答えて

0

ilvarが提供する最適なソリューションは、サブディレクトリの使用を避け、別のサブドメインでプロジェクトを実行することです。私はまた、そのサブドメインをファイルシステム内の別のパスの下に置くことをお勧めします。おかげでilvar!

0

登録パッケージをコードの一部として使用している場合は、登録URLファイルに必要に応じてプレフィックスを追加できます。そうでない場合は、メインURLに接頭辞を追加して、include文で登録URLに導くことができます。それはあなたを助けますか?

+0

ありがとうございますが、私はilvarの提案に従ってサブドメインを使用するように移動しました。よりロバストなアプローチのようです。 – Erik

関連する問題