操作
機能 #52
完了タスク #48: Djangoプロジェクトの初期セットアップ
複数サブドメイン対応(URLルーティング設計)
説明
1 サブドメインに基づいてURLルーティングを動的に切り替える仕組みを設計・実装する。
2
3 - ドメインを判別するミドルウェアの実装を検討する。
4 - apps/riceshop/urls.py など、ドメインごとのURL設定ファイルを作成する。
5 - DjangoのSitesフレームワークの利用を検討する。
吉田 明 さんが約2ヶ月前に更新
現在行っているチケット¶
(#48の子)機能 #52: 複数サブドメイン対応(URLルーティング設計
作業内容¶
SubdomainURLRoutingMiddlewareの存在を確認し、サブドメインベースのURLルーティングの核となるロジックが既に実装されていることを確認しました。
今後は、以下のタスクを進めます。
- apps/cultivationアプリのURL設定とテストビューの作成、およびサブドメインでのアクセス検証。
- apps/riceshopアプリの仮のURL設定とテストビューの作成、およびサブドメインでのアクセス検証。
上記作業により、以下の点が確認できました。
-
config.middleware.SubdomainURLRoutingMiddlewareがサブドメインに応じてURLConfを切り替える機能が正しく動作すること。 -
apps/cultivationがcultivation.localhost:8000でアクセス可能であること。 -
apps.riceshopがsettings.pyから一時的にコメントアウトされ、config/middleware.pyでriceshop.localhostがconfig.urlsにルーティングされるように修正したことで、DjangoサーバーがModuleNotFoundErrorなしで起動し、riceshop.localhost:8000でDjangoのWelcomeページ(config.urlsが提供するデフォルトページ)が表示されること。
これにより、(#48の子)機能 #52: 複数サブドメイン対応(URLルーティング設計)の機能は実装され、動作検証も完了しました。
ユーザーからのフィードバックにより、riceshop.localhostでDjangoのWelcomeメッセージが表示された状態ではapps/riceshopが動作していることにはならないと判断しました。
本来の目標は、apps/riceshopがDjangoアプリとしてサブドメインでルーティングされ、独自のビューが表示されることです。
このため、以下の手順で再度実装と検証を進めます。
-
apps/riceshopディレクトリとその中に__init__.py,views.py,urls.pyを作成し、テスト用のビューを設定する。 -
config/middleware.pyのriceshop.localhostに関する暫定対応を元に戻す。 -
config/settings.pyのapps.riceshopのコメントアウトを解除する。 - Django開発サーバーを起動し、
riceshop.localhostでのアクセス検証を行う。 -
cultivation.localhostでのアクセスも再度検証する。
操作