2011-12-05 12 views
9

Djangoテストクライアントを自分のサブドメインに置くアプリケーションでうまくプレイできるようにする方法を見つけようとしています。すなわち、各アカウントはaccount1.myapp.com、account2.myapp.comを有する。Djangoテストのクライアントとサブドメイン

ユーザは、複数のサブドメイン(類似のベースキャンプのモデル)のメンバーになることができます。そのため、リクエストがどのミドルウェアに対して発行されているかを処理します。

単体テストを書いているので、私のミドルウェアがリダイレクトした "http:// testserver"に対してすべての要求が発行され、後続の302は外部要求であると判断されていることに気付きました。

テストクライアントでこれを有効にする方法を知っている人はいますか?私は現在、それを有効にするために少し長蛇をハッキングしています。あなたのテストで

+0

私はテストクライアントはこれをサポートしていないと思います。私は様々なサブドメインへのリクエストをする必要があったので、同じ問題に遭遇しました。ちょうどDjangoでちょっとハックしなければなりませんでした。私にとっては、サブドメインごとにURLが異なっていたので、解決策はカスタムurlresolversを使用することでした。 – Spike

答えて

8

、クライアントを使用して、HTTP_HOSTパラメータを追加:あなたのミドルウェア上

response = c.post(reverse('my-url'), data={}, HTTP_HOST='account1.myapp.com') 

を今あなたは、ホストが変更されるはずです!

関連する問題