Djangoは開発サイトでアプリをリダイレクトします
-
02-01-2020 - |
質問
開発環境と製造環境の両方で完全な機能を備えたDjangoアプリケーションを持っています。これは、ALLOWED_HOSTS
を適切に変更するだけで処理され、各場所に適切に提供するためにApacheを設定することによって処理されます。私の問題は私が djangoリダイレクトApp を処理することです。私のリダイレクトは進む(このプロジェクトの一部がPHPから離れた移行です)ので、私はもうApacheのこれらのリダイレクトに対処する必要はもうないということです。リダイレクトは大きな頭痛であり、Apacheはそのindex.phpリダイレクトループに関する問題を引き起こします。また、これは私がDjangoの下でより多くのウェブサイトのコントロールを移行することを可能にします。これは管理の容易さの目標です。私が遭遇している問題はリダイレクトアプリで site_id 有効なターゲット/リダイレクトを決定するため。プロダクションサーバーは開発とは異なるホスト名を持ち、リダイレクトアプリをテストまたは検証できません。これは明らかに孤立したほぼ同一の開発サーバの目的を傷つけ、これはライブに前にすべての機能をテストすることです。私はサイトFramework 個々のサイトが個別の設定を必要とすることを理解しています共存するファイルとデーモンは、開発サイトが生産とは異なるため、再び私のシナリオにとって役立ちません。ドキュメントから私には明らかではありません:
1)DEBUG
を追加/変更する以外にサイトを追加する方法 - 関連する名前を選択しますか?
2)1を仮定することは、私はすでに異なるSettings.pyファイルを持っているので、最良の方法(そして適切です)ですか?
3)同じSITE_ID
の2つのサイトエントリをどのようにしましたか。また、これは私のリダイレクトに影響しますか?私は単一のWSGIとSettings.py(各サーバーに)しかありませんが
+----+-------------+-------------+
| id | domain | name |
+----+-------------+-------------+
| 1 | example.com | example.com |
| 2 | foo.net | foo.net |
| 3 | foo.net | foo |
+----+-------------+-------------+
.
データベースに?リダイレクトアプリに合うようにサイトフレームワークを調整する方法についての混乱につながっている、これらのサイトが追加または構成されている場所はわかりません。私はDjango 1.5.4に乗っているので、サイトフレームワークはデフォルトで有効になっていましたので、それ以前に考えたことさえ考えませんでした。
解決
リダイレクトがIDを使用するだけなので、関連サイトの名前が問題ではないので、実際のドメイン名の場合はID 1だけを残して、PressionとTesting Configurationの両方でSITE_ID = 1
を設定しました。リダイレクトを設定するためにSITE_ID
のみを使用してから他のサイトがどこから来たのかわかりませんが、今は機能します。