2011-11-07 5 views
0

django.test.client.Clientのインスタンスを、OSのpythonのインストールではなく特定のvirtualenvを使うように設定することはできますか?もしそうなら、どうですか?Djangoのテストクライアントは特定のvirtualenvを使用できますか?

ありがとうございました!

編集: Django自体からではなく、ファブリック展開スクリプトからdjango.test.client.Clientを使用しています。ファブリックはvirtualenvにインストールされます。だから私は次のようなことをしています:

from django.test.client import Client 
response = Client().get(url_path) 
if response.status_code == 200:                    | 
    return response.content 
else: 
    # handle error 
    pass 
+0

なぜファブリックスクリプトからdjangoテストクライアントを使用していますか? (例えば、urllibとは対照的に)? – second

答えて

0

テストクライアントは、virtualenvsまたはPythonのバージョンについて全く知らないし気にしません。

テストの実行時にvirtualenvを有効にしている限り、virtualenv内のPythonのバージョンが使用されます。

+0

ありがとうと申し訳ありませんが詳細の不足しています。私の編集を見てください。 – mcqwerty

0

テストクライアントは、Django自体が実行している環境を使用します.Denangoがインストールされた状態でvirtualenvをロードすると、管理コマンドはそのDjangoのインストールを使用します。

+0

ありがとうと申し訳ありませんが詳細の不足しています。私の編集を見てください。 – mcqwerty

+0

同じことが適用されます。 Djangoから何かをインポートすると、それは現在のコンテキスト内にインストールされたDjangoから来るでしょう。それがvirtualenvなら、あなたのvirtualenvのDjangoになります。必要なvirtualenvが最初に起動されていることを確認してください。それが使用されます。 –

+0

それは私が期待するものですが、私が見ているものではありません。新鮮なVMでいくつかのテストを行います。 – mcqwerty

関連する問題